2016-06-20 15 views
1

chrome拡張機能を使用しています。これは、new_tab、new_window、switch_tab、close_tabなどのブラウザ内のすべてのアクションを保存します...しかし、情報をローカルにCSVファイルに保存します。私は多くのガイドとチュートリアルを試みましたが、まだ動作していません。 私はちょうどローカルファイルにテスト文字列を保存したい、このファイルが表示されますか?私は約20人からこのデータを得る予定です。マニフェストにChrome拡張機能を使用してローカルファイルにデータを保存する

:popup.htmlで

{ 
    "manifest_version": 2, 

    "name": "Getting started example", 
    "description": "This is testing description", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html", 
    "default_title": "Click here!" 
    }, 
    "permissions": [ 
    "activeTab", 
    "tabs", 
    ] 
} 

がインポートされるjavascript <script type="text/javascript" src="popup.js"></script>

とpopup.jsにはこれです:ライン上のコンソールUncaught ReferenceError: fs is not definedからエラーを与える

window.onload = function() { 
var filesystem = null; 
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 

window.requestFileSystem(window.PERSISTENT, 5*1024*1024 , onInitFs, errorHandler); 

    function onInitFs() { 
    filesystem = fs; 

    filesystem.root.getFile('treehouse.txt', {create: true}, function(fileEntry) { 

    fileEntry.createWriter(function(fileWriter) { 

    fileWriter.onwriteend = function(e) { 
    console.log("write done"); 
    }; 

    fileWriter.onerror = function(e) { 
    console.log("write error"); 
    }; 

    var contentBlob = new Blob(['JUST OWN TEXT FOR TESTING!'], {type: 'text/plain'}); 

    fileWriter.write(contentBlob); 

}, errorHandler); 
}, errorHandler); 

} 


function errorHandler(e) { 
    var msg = ''; 

    switch (e.message) { 
    case FileError.QUOTA_EXCEEDED_ERR: 
     msg = 'QUOTA_EXCEEDED_ERR'; 
     break; 
    case FileError.NOT_FOUND_ERR: 
     msg = 'NOT_FOUND_ERR'; 
     break; 
    case FileError.SECURITY_ERR: 
     msg = 'SECURITY_ERR'; 
     break; 
    case FileError.INVALID_MODIFICATION_ERR: 
     msg = 'INVALID_MODIFICATION_ERR'; 
     break; 
    case FileError.INVALID_STATE_ERR: 
     msg = 'INVALID_STATE_ERR'; 
     break; 
    default: 
     msg = 'Unknown Error'; 
     break; 
    }; 
    console.log('Error: ' + msg); 
} 
} 

filesystem = fs; ファイルが作成されていないか、見つかりませんでした。私はルートがどこかにあると仮定します。C:/ C:/ Windows

誰かがコード修復を手助けできますか?またはいくつかの有用な助言?

+0

あなたは 'fs'変数をどこにも指定していないようです。なぜなら、それはヌルなのですから –

+0

ありがとう、ちょっとした間違いを見ました..このガイド(http://www.html5rocks.com/ fsは関数の単なるパラメータなので、onInitFs(fs)のパラメータとしてfsを作成し、コンソールエラーを消滅させましたが、errorHandlerから 'Unknown Error'を取得しました –

答えて

0

onInitFs()からonInitFs(fs)に変更する必要があります。window.requestFileSystem関数は、新しいファイルシステムハンドルをコールバックの引数として渡します。

関連する問題