2016-06-20 6 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", 
    ] 
} 

가 가져 자바 스크립트 <script type="text/javascript" src="popup.js"></script>

및 popup.js에서이 있습니다 : 라인 filesystem = fs;에 콘솔 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); 
} 
} 

파일이 만들어지지 않았거나 찾지 못했습니다. 나는 어딘가에 루트가 있다고 가정한다. C :// C :/Windows

누구든지 코드 복구를 도와 줄 수 있습니까? 또는 몇 가지 유용한 조언?

+0

어디서나'fs' 변수를 할당하지 않는 것 같습니다. 이유는 그것이 null입니다. –

+0

감사합니다.이 안내서로 인해 약간의 실수가있었습니다. (http://www.html5rocks.com/) en/tutorials/file/filesystem /) fs는 함수의 매개 변수 일 뿐이므로 fs를 onInitFs (fs)의 매개 변수로 만들고 콘솔 오류를 제거하지만 errorHandler에서 'Unknown Error'를 얻습니다. –

답변

0

window.requestFileSystem 함수가 콜백에 대한 인수로 새 파일 시스템 핸들을 전달하므로 onInitFs()onInitFs(fs)으로 변경해야합니다.