我想开发一个使用浏览器与用户交互的应用程序。该应用程序可以脱机使用,并可以通过zip分发。

我想执行的功能将由HTML,CSS,JS处理,并且我想利用IndexedDB功能。

我遇到了IndexedDB(Chrome)的问题,因为相同的代码可以在联机空间中工作,但不能从本地硬盘驱动器位置(file://)工作。

引用示例:http://jsfiddle.net/FwuUD/

(function() {

    var db;
    var dbreq = indexedDB.open("TestApp", 2);

    dbreq.onsuccess = function(e) {
        alert("Database created");
        db = e.target.result;

        var employeeStore = db.createObjectStore (
            "employees",
            {keyPath: "id"}
        );

    };

    dbreq.onerror = function(e) {
        alert("Database Error: " + e.target.errorCode);
    };

    dbreq.onupgradeneeded = function(e) {
        alert("Database upgrade needed");
    };

})();

有什么建议么?

最佳答案

indexedDB API仅在Web服务器内部起作用。当您使用文件系统导航到它时,它将无法工作。 indexedDB API需要使用域上下文,而文件系统不提供该上下文。简而言之,您需要一个URL才能使用api。

关于javascript - 本地HTML文件上的IndexedDB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15694334/

10-12 12:27