JQM Web アプリのユーザーがテーマを制御できるように、ローカル ストレージを使用しようとしています。ただし、正しいテーマを生成できるように、ローカルストレージデータをphpに戻す方法がわかりません。
現時点では、ユーザーが希望する色を選択できるフォームがあります。フォームが送信されると、選択した値をセッション変数に保存し、PHP コードで使用してページを生成します。また、ユーザーのブラウザーのローカル ストレージに値を保存します。
問題は、ユーザーがブラウザを閉じてサイトに再度アクセスしたときに発生します。ローカル ストレージから設定を読み取る必要がありますが、これは JavaScript を使用して実行できます。次に、これらの値をセッション変数に保存して、php コードが読み取れるようにする必要があります。次のことを試してみましたが、「成功」という警告ボックスが表示されますが、実際には PHP コードを呼び出しているようには見えません。
var themeDefault = (window.localStorage && window.localStorage.getItem('theme') != "" && window.localStorage.getItem('theme') != null) ? window.localStorage.getItem('theme') : "a";
$(document).live('pageinit', function () {
$.ajax({
url: "theme.php",
cache: false,
type: "POST",
data: {"theme=" + themeDefault},
success: function(){
alert('success');
}
});
});
上記のコードに何か問題がありますか?「成功」メッセージが表示されたにもかかわらず、なぜ theme.php を呼び出さないのですか?
もう1つの問題は、このコードをランディングページで1回だけ実行したいということです。どうすればそれを行うことができますか?現在、すべてのページで 1 回実行されます。
私の他のオプションは、クッキーを使用することです。その方が良い計画だと思いますか。