2017-07-11 19 views
0

我發現了很多文檔來在javascript中創建本地數據庫(SQLite),並且它完美地工作。 但現在我想要創建數據庫,但直接從目錄打開,例如(C:\ Users ......)。 我可以自動執行嗎?JavaScript SQLite Html5

這是JavaScript來創建數據庫

var localDB = null; 
    var CreateTb1 = "CREATE TABLE ......"; 
    var CreateTb2 = "CREATE TABLE ......"; 

    function onInit(){ 
    try { 
     if (!window.openDatabase) { 
      updateStatus("Erro: Seu navegador não permite banco de dados."); 
     } 
     else { 
      initDB(); 
      createTables(); 
      //queryAndUpdateOverview(); 
     } 
    } 
    catch (e) { 
     if (e == 2) { 
      updateStatus("Erro: Versão de banco de dados inválida."); 
     } 
     else { 
      updateStatus("Erro: Erro desconhecido: " + e + "."); 
     } 
     return; 
    } 
} 

    function initDB(){ 
    var shortName = 'database.db'; 
    var version = '1'; 
    var displayName = 'database.db'; 
    var maxSize = 65536; // Em bytes 
    localDB = window.openDatabase(shortName, version, displayName, maxSize); 
} 

    function createTables(){ 

    localDB.transaction(function(transaction) 
    { 
    transaction.executeSql(CreateTb1, [], nullDataHandler, errorHandler); 
    transaction.executeSql(CreateTb2, [], nullDataHandler, errorHandler); 

    }, tranonError, tranonSucc); 


} 
+0

JavaScript在哪裏執行?在瀏覽器中?在服務器端(如節點,JS)?或者像科爾多瓦這樣的運行時容器? – NineBerry

+0

對不起,Chrome瀏覽器使用html5 –

+0

這是一個正常的網站,或者您正在編寫Chrome擴展? – NineBerry

回答

0

在JavaScript的網站運行在瀏覽器代碼的用戶的本地驅動器上無法訪問文件。這將是一個巨大的安全風險。

如果您希望用戶能夠使用本地文件中的數據,則必須提供一種機制讓他們將文件上傳到服務器,然後您可以訪問該數據。

請注意,您不能將數據寫回用戶的磁盤。