You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 110下HTTP环境调用openDatabase报错,求解决方案

解决Chrome 110中HTTP环境下WebDatabase API访问被拒绝的问题

问题场景与报错信息

错误信息:Unknown error SecurityError: Failed to execute 'openDatabase' on 'Window': Access to the WebDatabase API is denied in non-secure contexts.
执行代码:window.openDatabase('teste.db', '1.0', '', 2000 * 1024 * 1024);
环境:Chrome 110版本,通过HTTP远程地址调用代码失败,预期返回Database {version: '1.0'}

解决方案

  • 切换至HTTPS协议:Chrome对WebDatabase这类敏感API做了安全限制,仅允许在安全上下文(HTTPS、localhost、127.0.0.1等)中调用。将网站部署到HTTPS环境后,即可正常执行openDatabase。
  • 本地localhost调试:开发阶段可将代码部署到本地服务器(如localhost),Chrome默认允许localhost作为安全上下文,不会触发该权限错误。
  • 迁移至IndexedDB:WebDatabase已被标记为废弃标准,浏览器对其支持正在逐步缩减。推荐使用现代标准的IndexedDB作为替代方案,它的兼容性更好,且同样能实现本地数据库存储需求,示例代码:
// 打开IndexedDB数据库
const request = indexedDB.open('teste.db', 1);

request.onsuccess = function(event) {
  const db = event.target.result;
  console.log('数据库打开成功', db);
};

request.onerror = function(event) {
  console.error('数据库打开失败', event.target.error);
};

内容的提问来源于stack exchange,提问作者WilyWork

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:03:37