私は JQuery Mobile Web アプリを作成しています。あるページには、HTML5 ローカル ストレージに格納された値を取得し、ページ上の Web コントロールをその値で更新する JavaScript があります。Web コントロールの 1 つにスライダー コントロールがあります。
ページにアクセスするたびにJavaScriptを実行して、ローカルストレージからコントロールを適切に更新する必要があります。すべてのページで発生する唯一の適用可能な JQuery イベントは、pageshow および pagebeforshow イベントであるため、これらのイベント中に実行するコードを結び付けようとしました。例は次のとおりです。
var onPageShow = function () {
// Restore setting values from device browser local storage
if (localStorage.getItem("mmb_AutoLogin")) {
$('#AutoLogin').val(localStorage.getItem("mmb_AutoLogin").toLowerCase());
$('#AutoLogin').slider('refresh');
}
};
$(document).delegate('#maxsettings', 'pageshow', onPageShow);
問題は、スライダーを参照しようとするとエラーが発生することです: 0x800a01b6 - JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'slider' をサポートしていません
値をデフォルトから変更した後、スライダー Web コントロールを更新する必要があります。そうしないと、視覚的に変化しません。
それが問題です。ページが読み込まれるたびにスクリプトを実行し、エラーを発生させずにスライダー Web コントロールを更新するにはどうすればよいですか? jQuery Mobile で簡単に処理できるようにするには、さまざまな手順を踏まなければならないような気がします。