如何将chrome应用程序写入文件

时间:2014-01-23 03:33:28

标签: javascript html google-chrome google-chrome-app

我刚开始学习chrome应用程序,而且我对它的javascript方面相当新,而我确实有一些HTML方面的经验。如何创建一个带有复选框的应用程序(复选框将是html),然后有一个按钮(全部也是html),此按钮将写入桌面上的文件,无论复选框是否已选中或选中?即它会写真还是假?

1 个答案:

答案 0 :(得分: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”]