私は2つのページ、 "検索"と "結果"で簡単なサイトを作ろうとしています。2つのhtmlファイルの間でjQuery Mobileのページを変更します
最初は、複数ページのテンプレートがかなりうまく機能していました。私はページを変更し、ページを変更するには結果を得るためにajaxを使用します。問題は、最初に検索ページに戻らずに結果ページをロードできるようにすることでした。
私はこのような何か持つことができるようにクエリ文字列を経由して結果ページにパラメータを渡したい:
search.html
+「いくつかの検索語を」 - >results.html?q=some+search+terms
問題は、私ができることです」 htmlを2つのファイルに分割すると、何かがうまくいくように見えます。
私は、検索ページの
$.mobile.changePage("results.html?q=" + escape(search))
を呼び出してみてください、しかし$(document).ready
機能は、焼成されていません。 changePage
がDOMに2番目のページをロードしているので、私はなぜそうではないのですか?
また、$(document).ready
関数はresults.htmlで起動しますが、戻るボタンを使用するか、検索ページに戻ると、$(document).ready
が発生しません。
pagechange
関数をsearch.htmlに配線してみましたが、2番目のページを読み込んだときにこれが発生すると仮定しても何も起こりませんでした。
私はこれをどのようにプルするかについての提案は誰かありますか?または、結果ページを検索ページからより独立させるための最良の方法は?
ダング、私はこれを行うための良い方法を見つけようとしています、ブラウザが私の携帯電話でどのように振舞うからです。ブラウザを閉じて再度開くと、そのURLがリロードされ、セッション記憶域がiffyになります。プラス私はFacebookや何かに特定の結果ページを投稿できるように探しています。 – tedski
jQuery MobileウェブサイトはDOMをリロードしないので、JavaScript変数にデータを保存してすべてのページにアクセスできます。これは、 'sessionStorage'を使用するよりも**高速**を実行します(ほとんどすべての永続的なブラウザストレージは、読み書きするたびに多くのCPUオーバーヘッドを作成します。使用する場合は、データの単一のオブジェクト必要に応じて、小さなものよりもむしろ単一の読み込み/書き込みを実行するために、オーバーヘッドはデータ接続の初期化から来ます。 – Jasper