質問: function(e) { // エラー時の処理 }; reader.readAsDataURL(input.files[0]); ``` これの動作確認を行いたいと思うのですが、どういうファイルを読ませたら、あるいは何を行ったらonerrorのfunctionが呼ばれるようにできますでしょうか。 readAsDataURLにundefinedや適当な文字列などを入れて呼んでみても、readAsDataURLで例外が発生してしまい、onerrorは実行されませんでした。 よろしくお願いします。 追記 sii_sideさんに回答いただいた、Eventを自前で作ってdispatchEventするという方法で、onerrorの呼び出しはできました。 さらに、できれば実運用の際にonerrorのパラメータに入ってくる値などを知っておきたいので、コードを変更せずに本当にエラーを起こさせたい、と思っています。 readAsDataURLに渡しているinputは、なエレメントなのですが、ブラウザ上からファイルの指定をするなどして、FileReaderにエラーを起こさせる方法がありましたら、教えていただけないでしょうか。 よろしくお願いします。
回答: ``` var event = new Event('error'); reader.dispatchEvent(event); ``` イベントオブジェクトを生成して発火という方法で、イベントハンドラを呼び出すことが可能かと思います。 ``` var event = document.createEvent('Event'); event.initEvent('error', false, false); reader.dispatchEvent(event); ``` IEまで含めるなら、`document.createEvent`から生成することで対応できます。