У меня есть странная проблема в моем коде. Я создал простой DB_Function.js
для управления функцией JS внутри html-страницы.Обработка ошибок SQL: TypeError: window.openDatabase не является функцией
Я вызываю функцию внутри <body onLoad="CALL_DB()">
, поэтому сначала инициализируйте БД и создайте таблицу, если это необходимо.
Проблема здесь,
- Рабочая: Хром
- не работает: 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 Пожалуйста, помогите мне, я не знаю, где я ошибаюсь.
Спасибо, что прочитали мой запрос.
но как насчет android? он должен работать. –
После исправления скрипта (скрипт выполняется в onload уже) http://jsfiddle.net/Mznr6/1/ он работает для меня с помощью браузера Android Android (старый 4.1.2). – nmaier
У меня есть ваша скриптовая строка, и она показывает мне ту же ошибку :( –