chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案

作者 : admin 本文共1189个字,预计阅读时间需要3分钟 发布时间: 2024-06-9 共3人阅读

全文

  • 问题描述
  • 解决方案
  • 解决方案的官方解释
        • 1.关于WebSQL的弃用说明:
        • 2.关于申请弃用试用的说明:
  • 解决过程
        • 1.登陆谷歌浏览器并在申请网址(http://developer.chrome.com/origintrials/?hl=zh-cn#/trials/active)中找到WebSQL,点击注册Register按钮。
        • 2.填写注册内容。
        • 3.注册成功后复制令牌。
        • 4.将令牌在需要的页面中用代码写入使用。
        • 5.令牌成功使用的状态。

问题描述

谷歌弃用WebSQL,导致启动WebSQL的window.openDatabase报错window.openDatabase is not
a function。

如图:chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(1)

解决方案

向谷歌浏览器申请弃用试用版本,就能在网页运行WebSQL。

申请网址(需翻墙):
http://developer.chrome.com/origintrials/?hl=zh-cn#/trials/active

解决方案的官方解释

1.关于WebSQL的弃用说明:

http://developer.chrome.com/blog/deprecating-web-sql?hl=zh-cn
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(2)
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(3)

2.关于申请弃用试用的说明:

http://developer.chrome.com/docs/web-platform/origin-trials?hl=zh-cn#deprecation_trials
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(4)chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(5)chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(6)

解决过程

1.登陆谷歌浏览器并在申请网址(http://developer.chrome.com/origintrials/?hl=zh-cn#/trials/active)中找到WebSQL,点击注册Register按钮。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(7)

2.填写注册内容。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(8)
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(9)

ps:关于Web
Orgin源站的填写,填你的项目运行的网址端口就可以了。如我的项目本地运行首页网址是http://127.0.0.1:5500/baseversion_dev/index.html,此处就填http://127.0.0.1:5500。
不理解的话可以再研究下官方的说法,理解可直接跳下一步。

官方说明(http://web.dev/articles/same-site-same-origin?hl=zh-cn#origin):
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(10)
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(11)

3.注册成功后复制令牌。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(12)

4.将令牌在需要的页面中用代码写入使用。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(13)

	const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = '粘贴刚刚的令牌字符串';
    document.head.append(otMeta);
5.令牌成功使用的状态。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(14)
这时控制台报错也消失了,WebSQL可以正常打开查看。
至此已成功解决。

ps:官方声明了第三方令牌只能通过上述代码写入,如果是meta标签写入令牌就会显示识别失败。

chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(15)
chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案插图(16)

本站无任何商业行为
个人在线分享 » chrome谷歌浏览器弃用WebSQL导致项目无法运行(Web SQL is deprecated/window.openDatabase is not a function)的解决方案
E-->