0

firefoxだけで困っています。私のページには、ユーザーが展開したいノードをクリックすると、ajax を介して読み込まれるツリー構造が表示されます。私がFirefoxで抱えている問題は、最初のページの読み込み時にノードが展開されることです。しかし、その後、Firefoxはそれを奇妙にキャッシュし、ajaxリクエストの子ではなくノードヘッダーが新しいページに引き継がれます。持ち越されるノードのヘッダーには、ノードがその子を取得したかどうかを判断する情報が含まれているため、これは問題です。

<div class="node topbar"
   <input type="hidden" id="foo" name="hasretrievedchildren" value="1"/>
...
</div>

最初のページの読み込み時と同じである必要があります。

<div class="node topbar"
   <input type="hidden" id="foo" name="hasretrievedchildren" value="0"/>
...
</div>

私のJavascriptは、AJAX呼び出しを行うために、その入力のゼロ以外の値をチェックします。

これは bfcache の問題ですか? 追加したからではないと信じるようになりました

window.onunload = function(); 

js ファイルおよび script タグに追加しても、どちらも修正されていませ

私はasp.net MVC 4を使用しており、MVCdonutcachingを使用して、このページと部分ビューをキャッシュしないように設定しようとしました。しかし、それもうまくいきませんでした。

4

2 に答える 2

0

たぶんそれは bfcache かもしれませんが、そうではないかもしれません。私はしばらく前に同じ問題に直面しなければなりませんでした。ブラウザーのキャッシュが原因でフォームに奇妙な動作が発生し、ページの期待される結果に影響を与えていました。プログラムを常に正しい値でロードするためにできること(からロードしていると仮定)は、Javascriptを介して値を初期化することです。

JQuery を使用する場合は、次を使用する必要があります。

<script type="text/javascript">
    $(document).ready(){
      //Assign your items values here
    }
<script>

JS で onload ハンドラーを使用することもできます。

お役に立てれば。

于 2013-07-03T23:34:39.350 に答える