abort ( onabort )イベント
abort ( onabort )イベントは、リソースやファイルの読み込みが中断されたら発生するイベントです。
このイベントは、FileReader や XMLHttpRequest によるファイル読み込みで使用できます。
<audio> または <video> メディアデータの取り込みにおいては、 File や Blob を利用した場合に abort イベントが使えます。
メディアデータのダウンロードが中止されたらで、error が発生した場合ではありません。
イベントは、preventDefault() メソッドで任意にキャンセルすることができます。
- ad -
構文(Syntax)
HTMLPreElement にイベントハンドラーを定義する方法には以下があります。
in HTML
<tagelement onabort="function(); ...;">
in JavaScript
object.onabort = function(){... };
addEventListener()
関数の呼び出し。関数名のみ使用で、event 以外の引数が渡せない。
object.addEventListener("abort", function_name);
スクリプトを直接記述する方法。スクリプトから関数を呼び出せる。
object.addEventListener("abort", ()=>{ ... },false); // または object.addEventListener("abort",function(){ ... },false);
イベントについてはEventを参照してください。 イベントの監視についてはEventTargetが担っています。
備考(Remarks)
Bubbles | No |
Cancelable | No |
Interface | UiEvent(ユーザーインターフェイスから生成された場合),Event |
Supported HTML Elements | 全般 |
Example
abort ( onabort )イベントの例です。以下に、音声や動画の読み込みでの例、XMLHttpRequest での例、FileReader での例を解説しています。
音声や動画の読み込みでの例
以下に例では、動画の読み込みが中断されたら abort イベントが発生する想定で作成しました。
読み込みが始まったら、イベントのキャンセルメソッド(*コメントアウトしてある)をいろいろ試してみましたが、イベントのキャンセルでは中断はできないようです。
ファイルの読み込み自体を中断する必要があるようです。その場合は File や Blob といったファイルオブジェクトにアクセスする必要があると思うのですが、srcObject でそれらのオブジェクトが直接取得できません。
画像や動画の読み込みにおいてデフォルトでは abort イベントは機能しないようです。
どうも URL.createObjectURL() や MediaStream を srcObject に設定ができることから、ファイル読み込みにおいて File や Blob を利用したときに abort イベントは機能するのかもしれません。
XMLHttpRequest での例
XMLHttpRequest での例です。src/test.html ファイルを読み込んでページの遷移をしないで内容を追加表示します。
ここでは、abort() メソッドによって任意に読み込みを中断します。
XMLHttpRequest によるファイルの読み込みが始まったら onloadstart イベントを捉えて abort() メソッドで読み込みを中断します。
このメソッドの実行によって onabort イベントが発生します。
FileReader での例
FileReader での例です。
ここでは、abort() メソッドによって任意に読み込みを中断します。
FileReader によるファイルの読み込みが始まったら onloadstart イベントを捉えて abort() メソッドで読み込みを中断します。
このメソッドの実行によって abort イベントが発生します。
- ad -
関連するイベント
読み込みに使用するイベントです。エレメントのロード、ファイルのダウンロード、動画や音声といったメディデータのダウンロードと用途によって機能する/しないイベントがあります。
イベント | 概要 |
---|---|
onabort | 読み込みが途中でキャンセルされたら |
onerror | リソースの読み込みの失敗または実行時にエラーが発生したら |
onload | ファイルやエレメントのロードに時に発生。window でページの初期設定に使用 |
onloadeddata | メディアデータの読み込みが終了したら |
onloadedmetadata | メディアのメタデータの読み込みが完了したら |
onloadend | ファイルの読み込みが終了したら |
onloadstart | ファイルやメディアデータのダウンロードプロセスが始まったら |
onprogress | ファイルやメディアデータをダウンロードをしている間 |
onstalled | ダウンロードをしたデータが利用できない |
onsuspend | ダウンロードをしていないタイミング |