无法在“窗口”上执行“openDatabase”:在非安全上下文中拒绝访问 WebDatabase API

问题描述 投票:0回答:1

错误:未知错误安全错误:无法在“窗口”上执行“openDatabase”:在非安全上下文中拒绝访问 WebDatabase API..

代码javascript:

window.openDatabase('teste.db', '1.0', '', 2000 * 1024 * 1024);

预期:数据库{版本:'1.0'}

Chrome 110版本,HTTP远程地址失败,有解决办法吗?

javascript http web-sql
1个回答
1
投票

您试图在非安全上下文中使用

WebDatabase API
,这在现代网络浏览器中是不允许的;它已被弃用,许多现代浏览器不再支持它,包括谷歌浏览器。

相反,您可以使用

IndexedDB API
,它提供了一种更安全、更现代的方式来在浏览器中存储数据。这是一个如何创建这样的示例:

// Open a new IndexedDB database.
var request = indexedDB.open('teste', 1);

// Create object store and indexes.
request.onupgradeneeded = function(event) {
  var db = event.target.result;
  var objectStore = db.createObjectStore('data', { keyPath: 'id' });
  objectStore.createIndex('name', 'name', { unique: false });
  objectStore.createIndex('age', 'age', { unique: false });
};

// Handle successful database open.
request.onsuccess = function(event) {
  var db = event.target.result;
  console.log('Database opened successfully');
};

就像那样,您创建了一个名为“teste”的新

IndexedDB
数据库,其中包含一个名为“data”的对象存储,该对象存储有两个索引“name”和“age”。

© www.soinside.com 2019 - 2024. All rights reserved.