私は C++ Web ベースの IDE のようなものに取り組んでいます。contenteditable div (ファイルを開くボタン) にテキスト ファイルを追加しようとしたときに問題が発生しました。DOM 構造は次のようにする必要があります
<div id = "board_code">
<div>text in row1</div>
<div>text in row2</div>
<div>text in row3</div>
</div>
JS
function readSingleFile(evt) {
var f = evt.target.files[0];
console.log(f);
if (!f) {
alert("Failed to load file");
return;
}
if (f.name.indexOf('.txt') == -1) {
alert(f.name + " is not a valid text file.");
return;
}
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
contents = contents.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/\r\n/,'<br>');;
alert( "Got the file.n"
+"name: " + f.name + "n"
+"type: " + f.type + "n"
+"size: " + f.size + " bytesn"
+ "contents: " + contents
);
document.getElementById('board').innerHTML = contents;
}
r.readAsText(f);
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
テキストを DOM に追加する前に、すべての行を div でラップするにはどうすればよいですか?