先日の[JavaScript][html]FileAPIを使うを書いていたときに参考にしたHTML5サンプル集に関してなのですが、下のようなプログラムが紹介されていました。
function readFile(file, contentArea) {
via:File APIのサンプル
var reader = new FileReader();
reader.onloadend = function(e) {
contentArea.textContent = reader.result;
};
reader.onerror = function() {
switch (reader.error.code) {
case FileError.NOT_FOUND_ERR:
alert("ファイルが見つかりません:" + file.name);
break;
case FileError.NOT_READABLE_ERR:
alert("ファイルを読み込めません:" + file.name);
break;
case FileError.SECURITY_ERR:
alert("セキュリティエラー:" + file.name);
break;
case FileError.ABORT_ERR:
alert("読み込みが中断されました:" + file.name);
break;
case FileError.ENCODING_ERR:
alert("不正なエンコーディングです:" + file.name);
break;
}
};
var encodingList = document.getElementById("encoding");
var encoding = encodingList.options[encodingList.selectedIndex].value;
reader.readAsText(file, encoding);
}
ここでものすごく気になったのは、そもそも「FileError.ENCODING_ERR」をどうやって発見したのだろうか?
仕様書にあるのかなーっと探したところありました。
interface FileError {
via:9.1. The FileError Interface
// File error codes
// Found in DOMException
const unsigned short NOT_FOUND_ERR = 8;
const unsigned short SECURITY_ERR = 18;
const unsigned short ABORT_ERR = 20;
// Added by this specification
const unsigned short NOT_READABLE_ERR = 24;
const unsigned short ENCODING_ERR = 26;
readonly attribute unsigned short code;
};
仕様書による裏づけが取れたので、これで遠慮なく使うことができます。
0 コメント:
コメントを投稿