簡體   English   中英

使用不同js文件的html5 Web SQL存儲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM