Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
js:chrome:storages [2023/11/21 00:32] 192.168.1.159js:chrome:storages [2023/11/21 00:34] (текущий) 192.168.1.159
Строка 17: Строка 17:
 const store = db.createObjectStore('bookmarks', { keyPath: 'id'}); const store = db.createObjectStore('bookmarks', { keyPath: 'id'});
 store.createIndex('title', 'title', { unique: false }); store.createIndex('title', 'title', { unique: false });
 +}
 +
 +// Добавляем ссылку на сайт в базу данных
 +function addBookmark(title, url) {
 +const db = openDatabase.result;
 +const transaction = db.transaction(['bookmarks'], 'readwrite');
 +const store = transaction.objectStore('bookmarks');
 + 
 +const bookmark = {
 +title: title,
 +url: url,
 +id: url.hashCode()
 +};
 + 
 +store.put(bookmark);
 +}
 +
 +String.prototype.hashCode = function() {
 +  let hash = 0, i, chr;
 +  for (i = 0; i < this.length; i++) {
 +    chr = this.charCodeAt(i);
 +    hash = ((hash << 5) - hash) + chr;
 +    hash |= 0; 
 +  }
 +  return hash;
 +};
 +
 +// Получаем все ссылки на сайты из базы данных
 +function getBookmarks() {
 +  const db = openDatabase.result;
 +  const transaction = db.transaction(['bookmarks'], 'readonly');
 +  const store = transaction.objectStore('bookmarks');
 + 
 +  const request = store.getAll();
 + 
 +  request.onsuccess = function() {
 +    // Отображаем ссылки на сайты в списке
 +    const bookmarks = this.result;
 +    // ...
 +  }
 +}
 +
 +// Удаляем ссылку на сайт из базы данных
 +function removeBookmark(id) {
 +  const db = openDatabase.result;
 +  const transaction = db.transaction(['bookmarks'], 'readwrite');
 +  const store = transaction.objectStore('bookmarks');
 + 
 +  store.delete(id);
 } }
 </code> </code>