備忘録的プログラミングリファレンス

abort ( onabort )イベント

 abort ( onabort )イベントは、リソースやファイルの読み込みが中断されたら発生するイベントです。
 このイベントは、FileReaderXMLHttpRequest によるファイル読み込みで使用できます。 <audio> または <video> メディアデータの取り込みにおいては、 File や Blob を利用した場合に abort イベントが使えます。

abort イベント
document.getElementById('example').addEventListener("abort", (event)=>{
	console.log( event.type );
});

詳しくは Example を参照してください

 メディアデータのダウンロードが中止されたらで、error が発生した場合ではありません。

 イベントは、preventDefault() メソッドで任意にキャンセルすることができます。

ページ内 Index

- 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)

BubblesNo
CancelableNo
InterfaceUiEvent(ユーザーインターフェイスから生成された場合),Event
Supported HTML Elements全般

Example

 abort ( onabort )イベントの例です。以下に、音声や動画の読み込みでの例XMLHttpRequest での例FileReader での例を解説しています。

音声や動画の読み込みでの例

 以下に例では、動画の読み込みが中断されたら abort イベントが発生する想定で作成しました。

 読み込みが始まったら、イベントのキャンセルメソッド(*コメントアウトしてある)をいろいろ試してみましたが、イベントのキャンセルでは中断はできないようです。
 ファイルの読み込み自体を中断する必要があるようです。その場合は File や Blob といったファイルオブジェクトにアクセスする必要があると思うのですが、srcObject でそれらのオブジェクトが直接取得できません。
 画像や動画の読み込みにおいてデフォルトでは abort イベントは機能しないようです。
 どうも URL.createObjectURL() や MediaStream を srcObject に設定ができることから、ファイル読み込みにおいて File や Blob を利用したときに abort イベントは機能するのかもしれません。
 

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。

XMLHttpRequest での例

 XMLHttpRequest での例です。src/test.html ファイルを読み込んでページの遷移をしないで内容を追加表示します。
 ここでは、abort() メソッドによって任意に読み込みを中断します。

 XMLHttpRequest によるファイルの読み込みが始まったら onloadstart イベントを捉えて abort() メソッドで読み込みを中断します。
 このメソッドの実行によって onabort イベントが発生します。

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。

FileReader での例

 FileReader での例です。
 ここでは、abort() メソッドによって任意に読み込みを中断します。

 FileReader によるファイルの読み込みが始まったら onloadstart イベントを捉えて abort() メソッドで読み込みを中断します。
 このメソッドの実行によって abort イベントが発生します。

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。

- ad -