pageloadfailedイベント
ページの読み込みが失敗した際に発火します。デフォルトでは、このイベントが発行された後で、フレームワークはページの読み込み失敗メッセージを表示し、data オブジェクトに含まれる deferred オブジェクトの reject() を呼びます。この挙動を、コールバック内で event オブジェクトにある preventDefault() を呼ぶことで停止させることも出来ます。
コールバックの第二引数に渡される data オブジェクトは、次のようなプロパティを持っています。
url
string- $.mobile.loadPage()が呼ばれた際に渡された、絶対もしくは相対URLです。
absUrl
string- 絶対パスに指定のURL。もし最初のリクエストが相対パスだった場合、アクティブページのURLを基に絶対パス化したものです。
dataUrl
string- absUrlをフィルタリングしたもの。ページがアクティブになった際、ブラウザのロケーションを更新するために使われます。
deferred
object-
イベントで preventDefault() を呼んだ場合 必ず changePage() リクエストのプロセスを続行させるため、このオブジェクトの resolve() もしくは reject() を呼ばなければなりません。deferredオブジェクトは、次のように resolve するか
$( document ).bind( "pagebeforeload", function( event, data ){ // フレームワークに、読み込み処理を自前で処理することを通知する event.preventDefault(); // ... ドキュメントを読み込み、DOMに挿入する ... // 同時に、このコールバック内もしくは他の同期処理を通じて // resolveを呼び、そこに次のように引数を渡す // 加えて、ページ用の要素を含むjQueryコレクションオブジェクトを // 渡す data.deferred.resolve( data.absUrl, data.options, page ); });
もしくは、次のように reject することが期待されます。
$( document ).bind( "pagebeforeload", function( event, data ){ // フレームワークに、読み込み処理を自前で処理することを通知する event.preventDefault(); // ... ドキュメントを読み込み、DOMに挿入する ... // 同時に、読み込みに失敗した場合は、このコールバックあるいは // 他の同期処理を通じて、次のようにrejectを呼ぶ data.deferred.reject( data.absUrl, data.options ); })
options
object- $.mobile.loadPage()が呼ばれた際のオプションがそのまま渡されます。
xhr
object- ページ読み込み時に使われたjQueryのXMLHttpRequestオブジェクトです。これはフレームワークが $.ajax() の呼び出しに失敗した際、第一引数に渡されたものです。
textStatus
null or string- jQueryコアのドキュメントによれば、通信ステータスが説明された文字列になります。これはフレームワークが $.ajax() の呼び出しに失敗した際、第二引数に渡されたものです。
errorThrown
null, string, object- jQueryコアのドキュメントによれば、ここには例外オブジェクトもしくはHTTPステータスが文字列で入ってきます。これはフレームワークが $.ajax() の呼び出しに失敗した際、第三引数に渡されたものです。