状況は次のとおりです。いくつかのリンクを含む index.php があります。各リンクは、別のページ (nicetry.html など) を取得して div にロードします。読み込まれるこのページ (例: nicetry.html) は、document.ready でいくつかの ajax を起動し、クリック イベントをボタンにバインドする必要があります。(実際には、onclick 関数をいつバインドしても問題ありません)。このボタンは、上記の div のコンテンツを更新する必要があるため、nicetry.html の document.ready がトリガーされます。
コードで...
index.php:
<script>
$("#nicetry").click(function(){
$('#content').load('nicetry.html');
});
</script>
<body>
<div id="nav">
<ul>
<li id="home"> <a href="#"> Home </a></li>
<li id="nicetry"> <a href="#"> nicetry </a></li>
</ul>
</div>
<div id="content"></div>
</body>
nicetry.html
$(document).ready({
//some stuff
$("#next").on("click", function() {
$("#content").load("nicetry.html");
});
});
これは、「次へ」ボタンを押したときに初めて機能し、div のリロードを停止します。ボタンのIDは変わらないので、キャッシュの問題だと思いました。キャッシュなしのメタタグを追加して、URLに ?val=randomInts を追加しようとしました...何も機能しませんでした。私のやり方が間違っていたのか、それとも実際にはうまくいかなかったのかのどちらかです。
私は最終的に、index.php が document.ready で nicetry.html をロードし、nicetry.html から location.reload(true) を実行するだけの回避策を実装しました。それでも、より良い解決策があるかどうか、またはこれが私が思うように機能しない理由を知りたいです。