テキストをchordproに変換するためのこのWebページがあります。今日、コンテンツはテキスト領域で変更されています。テキスト エディタを開いてそこにテキスト領域のコンテンツを貼り付ける必要がありますが、内容をディスクに直接保存できるように、ファイルの保存ダイアログを開いたほうがよいでしょう。HTML5ファイルセーバーを利用する方法を見つけようとしましたが、ほぼ完了したと思いますが、ファイル システム (fs) を提供する方法がわかりません。Chrome は fs が未定義であると言い続けます (これは私が提供していないためです)。
私はこれに正しい方法で取り組んでいますか?これが機能するために提供する必要があるファイルシステム以外に何かありますか?
これが私が得た距離です。HTML 入力は次のとおりです。
<button type="button" onclick=saveTextArea();>Convert</button>
Javascriptは次のとおりです。
function saveTextArea(fs) {
"use strict";
convertToChordpro(); // Converts text area value to chordpro format
var textArea = document.getElementById('textArea');
var artist = document.getElementById('artist').value;
var title = document.getElementById('title').value;
var fileName = (artist && title) ? artist + "-" + title + ".txt" : "artist-title.txt";
fs.root.getFile(fileName, {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwrite = function(e) {
console.log('Write completed.');
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
var bb = new BlobBuilder();
bb.append(textArea.value);
fileWriter.write(bb.getBlob('text/plain'));
}, onError);
}, onError);
}
function onError() {}
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(TEMPORARY, 1024*1024, saveTextArea, onError);