处理SQL时出错:TypeError:window.openDatabase不是函数 [英] Error processing SQL: TypeError: window.openDatabase is not a function

查看:197
本文介绍了处理SQL时出错:TypeError:window.openDatabase不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



c $ c>< 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(错误处理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(错误处理SQL:+ err);
}
}


函数errorCB(tx,err){
alert(Error processing SQL:+ err);
}

//事务成功回调

function successCB(){
alert(success!
}

Test.html
$ b

 <!DOCTYPE html> 
< html>
< head>
< title>存储示例< / title>

< script type =text / javascriptcharset =utf-8src =cordova.js>< / script&
< script type =text / javascriptcharset =utf-8src =js / DB_function.js>< / script>

< / head>
< body onLoad =CALL_DB()>
< h1>示例< / h1>
< p>数据库< / p>
< / body>
< / html>

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



感谢您阅读我的查询。 / p>

解决方案

问题在这里,

 < script type =text / javascriptcharset =utf-8src =cordova.js>< / script> 

我有一个活的js文件加载,因此可能是他们无法加载,应用程序。



所以,我将它保存在 assets / www / js / cordova.js

  p> 

< script type =text / javascriptcharset =utf-8src =js / cordova.js>< / script>


I have some strange issue in my code. i have create simple DB_Function.js to manage JS function inside html page.

i am calling function inside <body onLoad="CALL_DB()"> so first that will initialize the DB and create table if needed.

Issue is here ,

  • Working : Chrome
  • Not Working : Android Mobile & Fire Fox

Code are as below :

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>

Here is the my JS FIDDLE Please help me i don't know where i am wrong.

Thanks for read my query.

解决方案

Issue was here,

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

I have address a live js file to load so might be they was not able to load while launch the application.

So, I have save it locally in assets/www/js/cordova.js.

So finally it looks like above and its working for me perfectly.

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

这篇关于处理SQL时出错:TypeError:window.openDatabase不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆