[英]html5 Web SQL storage using different js files
我有一個first.js,它打開數據庫:
$(function(){
initDatabase();
});
function initDatabase() {
try {
if (!window.openDatabase) {
alert('Local Databases are not supported by your browser. Please use a Webkit browser for this demo');
} else {
var shortName = 'MyDB';
var version = '1.0';
var displayName = 'First DB';
var maxSize = 100000; // in bytes
DB = openDatabase(shortName, version, displayName, maxSize);
//dropTables();
createTables();
}
} catch(e) {
if (e == 2) {
// Version mismatch.
console.log("Invalid database version.");
} else {
console.log("Unknown error "+ e +".");
}
return;
}
}
然后,我想從另一個文件執行sql語句:second.js
function prueba_funcion () {
DB.transaction(
function (transaction) {
transaction.executeSql("SELECT * FROM categorias;", [], nullDataHandler, errorHandler);
}
);
}
我收到此錯誤: DB is not defined
在我的HTML代碼中,在second.js之前包含first.js:
<script type="text/javascript" src="js/first.js"></script>
<script type="text/javascript" src="js/second.js"></script>
但是我不明白。
您的問題是由范圍可變引起的。 如果希望變量DB
在作用域內是全局的,則必須在函數外部實例化它。 只需添加var DB = null;
first.js
最頂層的first.js
可能會解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.