私はjQueryMobileでいくつかのテストを行っており、アプリケーションとそのさまざまなページをセットアップする方法を理解しようとしています。理想的には、フレームワークでトランジション付きのページをロードしながら、各ページを明確に分離したままにしておきたいと思います。特に、Ajaxを介してロードされたページは、前のページのJavaScriptまたはCSSを「クリア」していないようです。
例1-JavaScript
たとえば、私がこのようなものを持っている場合page1.html
:
<script>
setInterval(function() {
console.info('Interval' + (new Date()));
}, 1000);
</script>
次に、をロードpage2.html
すると、間隔はまだ実行されています。に戻るとpage1
、新しい間隔が開始されるため、に戻るたびに2つの間隔が実行され、3と4などが実行されpage1
ます。
例2-CSS
もう1つの問題はスタイリングです。2つの異なるページで独立して作業している2人の開発者が要素を作成するとしますmy-element
。ではpage1
、この要素のスタイルは次のとおりです。
<style>
#my-element {
color: red;
}
</style>
<span id="my-element">This one is red</span>
ではpage2
、要素はスタイル設定されていません。
<span id="my-element">This one has no style</span>
繰り返しになりますが、page1.html
最初に行ってからに行くとpage2.html
、でmy-element
スタイル設定されていなくても、赤になってしまいますpage2.html
。
だから私は2つの質問があると思います:
現在、ページをロードするためのjQueryMobileのアプローチはまったくスケーラブルではないようです。CSS、JSは1つのページで作成され、次のページに進みます。それで、jQueryMobileがページを「きれいに」ロードするようにする方法はありますか。つまり、JSまたはCSSの一部が次のページに影響を与えないように、前のページからすべてを完全に削除しますか?
そうでない場合、jQuery Mobileでスケーラブルな方法で複数のページを操作する正しい方法は何ですか?