Namespace: settings

h5. settings

設定を格納するh5.settingsオブジェクト
Source:

Members

(static) ajax :Object

h5.ajaxの設定

このパラメータはオブジェクトで、以下のプロパティを持ちます

retryCount
一時的な通信エラーが発生した場合に通信をリトライする回数。デフォルトは0で、リトライを行いません。
retryInterval
一時的な通信エラーが発生した場合に通信をリトライするまでの待ち秒数(ミリ秒)。

通信エラーが発生した場合、ここで指定した秒数待ってからリクエストを送信します。デフォルトは500msです。 同期(async:false)でh5.ajaxを呼んだ場合はretryIntervalは無視され、即座にリトライします。 (同期で呼んだ場合は必ず結果が同期で返ってきます。)

retryFilter
リトライ時に実行する関数を登録できます。

リトライが有効な場合、呼び出しが失敗した場合に呼ばれます。 (失敗か成功かは、jQuery.ajaxの結果に基づく。200番台、304番なら成功、それ以外は失敗。)

retryFilterに設定した関数がfalseを返した場合はリトライを中止し、それ以外を返した場合はリトライを継続します。 (retryCountに設定した回数だけリトライをしたら、retryFilterの戻り値に関わらずリトライを中止します。)

デフォルトで設定してあるretryFilterは、「メソッドがGET、かつ、コネクションタイムアウトで失敗した場合のみリトライする」 ようになっています。

この挙動を変えたい場合は、以下のようにしてretryFilter関数を差し替えます。

h5.settings.ajax.retryFilter = function(jqXHR, textStatus, thrownError) {
	// この関数のthisはh5.ajax()呼び出し時のパラメータオブジェクトです。
	// thisを見ると、メソッドがGETかPOSTか、等も分かります。
	console.log('Ajax呼び出し失敗。textStatus = ' + textStatus);
	return false; // 明示的にfalseを返した場合のみリトライを中止する
}
h5preinitのタイミングで設定すると、ユーザコード内のh5.ajaxの呼び出し全てに反映されます。
$(document).bind('h5preinit', function() {
	h5.settings.ajax = {
		retryCount: 3,
		retryInterval: 500,
		retryFilter: function(){...}
	};
});

また、h5.ajax()の呼び出しパラメータで指定すると、呼び出しごとに設定を変えることもできます。 指定しなかったパラメータはh5.settings.ajaxのパラメータが使われます。

h5.ajax({
	url: 'hoge',
	retryCount: 1
});
// この場合、retryCountだけ1になり、retryIntervalとretryFilterはsettingsのものが使われます。
Type:
  • Object
Since:
  • 1.1.5
Source:

(static) aspects :Aspect|Array.<Aspect>

コントローラ、ロジックへのアスペクトを設定します。
Type:
  • Aspect | Array.<Aspect>
Source:

(static) commonFailHandler :function

failコールバックの設定されていないDeferred/Promiseオブジェクトの共通のエラー処理

failコールバックが一つも設定されていないDeferredオブジェクトがrejectされたときにcommonFailHandlerに設定した関数が実行されます。

commonFailHandlerが実行されるDeferredオブジェクトは、h5.async.deferred()で作成したDeferredオブジェクトかhifive内部で生成されているDeferredオブジェクトだけです。 jQuery.Deferred()で生成したDeferredオブジェクトは対象ではありません。

commonFailHandlerの引数と関数内のthisは通常のfailハンドラと同様で、それぞれ、rejectで渡された引数、rejectの呼ばれたDefferedオブジェクト、です。

サンプル

// commonFailHandlerの登録
h5.settings.commonFailHandler = function(e) {
	alert(e);
};

// Deferredオブジェクトの生成
var dfd1 = h5.async.deferred();
var dfd2 = h5.async.deferred();
var dfd3 = h5.async.deferred();

dfd1.reject(1);
// alert(1); が実行される

dfd2.fail(function() {});
dfd2.reject(2);
// failコールバックが登録されているので、commonFailHandlerは実行されない

var promise3 = dfd3.promise();
promise3.fail(function() {});
dfd3.reject(3);
// promiseオブジェクトからfailコールバックを登録した場合も、commonFailHandlerは実行されない

h5.ajax('hoge');
// 'hoge'へのアクセスがエラーになる場合、commonFailHandlerが実行される。
// エラーオブジェクトが引数に渡され、[object Object]がalertで表示される。
// h5.ajax()の戻り値であるDeferredオブジェクトが内部で生成されており、
// そのDeferredオブジェクトにfailハンドラが登録されていないためである。

var d = h5.ajax('hoge');
d.fail(function() {});
// failハンドラが登録されているため、commonFailHandlerは実行されない

デフォルトの設定

h5.settings.commonFailHandlerのデフォルト値はnullです。共通のエラー処理はデフォルトでは何も実行されません。 commonFailHandlerでの処理を止めたい場合は、nullを代入して設定をクリアしてください。

h5.settings.commonFailHandler = null;
Type:
  • function
Source:

(static) dynamicLoading :Object

コントローラに記述されたテンプレートの読み込み等、動的リソース読み込み時の設定を行います。
このプロパティはオブジェクトで、h5.settings.dynamicLoading.retryCount = 3;のようにして設定します。
dynamicLoadingで指定できるプロパティ:
retryCount
一時的な通信エラーが発生した場合に通信をリトライする回数(デフォルト:3)
retryInterval
一時的な通信エラーが発生した場合に通信をリトライするまでの待ち秒数(ミリ秒)。通信エラーが発生した場合、ここで指定した秒数待ってからリクエストを送信します。(デフォルト:500)
Type:
  • Object
Since:
  • 1.1.4
Source:

(static) listenerElementType :Number

コントローラのイベントリスナーのターゲット要素(第2引数)をどの形式で渡すかを設定します。
  • 1 (default) : jQueryオブジェクト
  • 0 : ネイティブ形式(DOM要素そのもの)
Type:
  • Number
Since:
  • 1.1.4
Source:

(static) log :Object

ログの設定を行います。
Type:
  • Object
Source:

(static) res :Object

h5.resモジュールの設定

以下のプロパティの設定を行ってください

baseUrl
type:string|null
ベースURL。デフォルトはnullで、リソースパス解決時のブラウザのアドレスバーの(ファイル名部分を除いた)パスがカレントパスになります(空文字を指定した場合もnullと同じです)
resolveTimeout
type:integer
タイムアウト時間設定(ms)を設定。タイムアウトに設定された時間待機して、依存解決ができない場合、resolve()は失敗します。デフォルトは10000(10秒)です。
Type:
  • Object
Source:

(static) scene :Object

シーン機能の設定

以下のプロパティの設定を行ってください。

followTitle
type:boolean
メインシーンコンテナでブラウザタイトルの追従を行うか(デフォルトtrue)
clientQueryStringPrefix
type:string
シーン遷移パラメーター識別用プレフィクス。デフォルト空文字
clientFWQueryStringPrefix
type:string
シーン遷移パラメーター識別用プレフィクス(FW用)。デフォルト"_h5_"
urlHistoryMode
type:string
メインシーンコンテナURL履歴保持方法(h5.scene.urlHistoryMode参照)。デフォルトは"'history"
urlMaxLength
type:integer
シーン遷移先URL最大長。デフォルト1800
baseUrl
type:string|null
ベースURL。デフォルトはnullで、hifiveを読み込んだページがカレントパスになります(空文字を指定した場合もnullと同じです)
autoInit
type:boolean
ページロード時にドキュメント全体を探索して、DATA属性によるコントローラーバインドとシーンコンテナ生成を行うかどうか。デフォルトfalse
Type:
  • Object
Source:

(static) trackstartTouchAction :String

コントローラがh5trackstartイベントにバインドするときに、バインド対象のターゲットに設定するCSSプロパティ"touch-action"の値

デフォルトは"none"で、h5trackstartイベントがバインドされた要素はタッチ操作でスクロールされないようになります。

nullを設定した場合はtouch-actionへの値の設定は行いません。

Type:
  • String
Since:
  • 1.1.10
Source: