Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
js:chrome:storages [2023/11/21 00:32] – [WebSQL] 192.168.1.159js:chrome:storages [2023/11/21 00:34] (текущий) 192.168.1.159
Строка 7: Строка 7:
  
 IndexedDB лучше всего подходит для приложений, которые работают с большими объемами данных, так как он поддерживает запросы по ключам и дополнительные индексы, что делает поиск и выборку данных более эффективным. IndexedDB лучше всего подходит для приложений, которые работают с большими объемами данных, так как он поддерживает запросы по ключам и дополнительные индексы, что делает поиск и выборку данных более эффективным.
- 
-===== WebSQL ===== 
- 
- 
-WebSQL был одним из первых типов локальных баз данных, который поддерживался в Google Chrome. В нем используется язык SQL для выполнения запросов к базе данных. Тип данных WebSQL очень похож на SQLite и имеет ту же производительность. 
- 
-Хотя WebSQL и прекратили поддерживать, но он все еще работает во многих Chrome extensions. Кроме того, он все еще поддерживается в других браузерах, таких как Safari и Opera. 
  
 <code javascript> <code javascript>
Строка 24: Строка 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>
 +
 +===== WebSQL =====
 +
 +
 +WebSQL был одним из первых типов локальных баз данных, который поддерживался в Google Chrome. В нем используется язык SQL для выполнения запросов к базе данных. Тип данных WebSQL очень похож на SQLite и имеет ту же производительность.
 +
 +Хотя WebSQL и прекратили поддерживать, но он все еще работает во многих Chrome extensions. Кроме того, он все еще поддерживается в других браузерах, таких как Safari и Opera.
 +
 ===== localStorage ===== ===== localStorage =====