2014-01-23 6 views
-1

저는 크롬 애플리케이션에 대해 배우기 시작했습니다. HTML 애플리케이션에 대한 경험이있는 동안 크롬 애플리케이션에 대해 배우기 시작했습니다. 확인란이있는 응용 프로그램을 만드는 방법 (확인란은 html이 될 것입니다) 및 단추 (모두 html로되어 있음)가 있으며이 단추는 확인란의 선택 여부에 관계없이 바탕 화면의 파일에 쓰거나 선택하지 않았습니까? 즉, true 또는 false를 씁니다.크롬 앱을 파일에 쓰려면 어떻게해야합니까?

+0

귀하의 질문이 너무 광범위합니다. 당신은 "어떻게 응용 프로그램을 만들 수 있습니까?"라는 질문에 쉽게 대답 할 수있는 질문을하지 않습니다. 질문은 누군가가 당신을 위해 코드를 작성하기를 원한다는 것을 의미합니다. 몇 가지 코드를 작성하고 작동하지 않으면 다시 돌아와 다른 질문을 게시하십시오. –

+0

크롬 애플 리케이션이 실제로 얼마나 우둔한 지 알 수 없기 때문에 일종의 일반화 된 코드가 필요합니다. 하지만 내 질문은 일종의 시동을 요구하기 때문에 HTML에서 ""과 같은 인라인 코드를 사용할 수 없기 때문에 웹 페이지를 여는 것과 같은 간단한 작업을 수행하는 버튼을 어떻게 만듭니 까? 그리고 그게 어떻게 자바 스크립트와 함께 작동하는지 모르겠어 ... – teku45

답변

0

파일에 저장하는 것은 소리가 나는 것처럼 쉽지 않습니다. Chrome 앱 예제 (found here)를 확인하고 확장 프로그램을로드하고 원하는 것을 확인하는 것이 좋습니다. 그런 다음 코드를 확인하십시오. 가장 적합한 예제는 미니 코드 편집이고 파일로드 및 파일 저장 중 하나입니다. 당신이 그렇게하지 않을 경우

하지만,이 예제 코드는 작동합니다 :

//Selector for your "Save" button 
document.querySelector("#saveButton").onclick = saveToFile; 
//Save variables 
var fileEntry; 
var hasWriteAccess; 
//Save methods 
function saveToFile() 
{ 
    if (fileEntry && hasWriteAccess) { 
    writeEditorToFile(fileEntry); 
    } else { 
     chrome.fileSystem.chooseEntry({ type: 'saveFile', suggestedName: "suggestedFileName.txt"}, onChosenFileToSave); 
    } 
} 

function setFile(theFileEntry, isWritable) { 
    fileEntry = theFileEntry; 
    hasWriteAccess = isWritable; 
} 

function writeEditorToFile(theFileEntry) { 
    theFileEntry.createWriter(function(fileWriter) { 
    fileWriter.onerror = function(e) { 
     console.log("Write failed: " + e.toString()); 
    }; 

    var blob = new Blob(["You put whatever you want written to your file here."]); 
    fileWriter.truncate(blob.size); 
    fileWriter.onwriteend = function() { 
     fileWriter.onwriteend = function(e) { 
     //handleDocumentChange(theFileEntry.fullPath); 
     console.log("Write completed."); 
     }; 

     fileWriter.write(blob); 
    } 
    }, errorHandler); 
} 

var onChosenFileToSave = function(theFileEntry) { 
    setFile(theFileEntry, true); 
    writeEditorToFile(theFileEntry); 
}; 

이것은 내가 언급 한 예에서 찍은. 또한 "fileSystem": [ "write"]을 매니페스트에 추가해야합니다.

관련 문제