gpt4 book ai didi

javascript - 错误处理 SQL : TypeError: window. openDatabase 不是函数

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:52 25 4
gpt4 key购买 nike

我的代码中有一些奇怪的问题。我创建了简单的 DB_Function.js在 html 页面中管理 JS 函数。

我在内部调用函数 <body onLoad="CALL_DB()">所以首先将初始化数据库并在需要时创建表。

问题在这里,

  • 工作:Chrome
  • 不工作:Android Mobile 和 Fire Fox

代码如下:

DB_Function.js

function CALL_DB() {
try {
alert("call_db");
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
} catch (err) {
alert("Error processing SQL: " + err);
}
}


function populateDB(tx) {
try {
alert("call_table");
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (3, "C")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (4, "K")');
} catch (err) {
alert("Error processing SQL: " + err);
}
}


function errorCB(tx, err) {
alert("Error processing SQL: " + err);
}

// Transaction success callback

function successCB() {
alert("success!");
}

Test.html

<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="js/DB_function.js"></script>

</head>
<body onLoad="CALL_DB()">
<h1>Example</h1>
<p>Database</p>
</body>
</html>

这是我的 JS FIDDLE请帮助我,我不知道我哪里错了。

感谢阅读我的查询。

最佳答案

您正在使用 Web SQL 数据库,即 not supported by Firefox .此外,规范为 abandoned by the W3C .

看看IndexedDB (caniuse)代替。还有至少一个 shim使 IndexedDB 在仅支持 Web SQL 数据库的浏览器中工作。

this updated fiddle 中的代码“有效”在 Android 浏览器 4.1.2 上。

关于javascript - 错误处理 SQL : TypeError: window. openDatabase 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18605614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com