私はajaxを使ってフレーム内のページの位置を更新しています。しかし、ハッシュの場所を設定すると(Chromeや一部のバージョンのIE(5.5)、特にIE7で)、ページがリロードされています。フレーム内に位置のハッシュを設定する
次のhtmlはこの問題を示しています。
メインフレーム.... frame.htmlはsethash.htmlページである
<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
あります。
<html><head>
<script language=JavaScript>
var Count = 0;
function sethash()
{
top.document.location.hash = "hash" + Count;
Count++;
}
</script>
</head>
<body onload="alert('loaded')">
<h1>Hello</h1>
<input type='button' onClick='sethash()' value='Set Hash'>
</body>
</html>`
ほとんどのブラウザで、frame.htmlを読み込むと、ページが読み込まれると読み込まれた警告が一度表示されます。その後、設定されたハッシュボタンが押されると、URLは変更されますが、ロードされたアラートは再び表示されません。 ChromeとIE
マイクロソフトのレポートの一部のバージョン私はマイクロソフトそれを発射イベントをキャプチャしないことです示唆したソリューション、が、ちょうどスクロールを使用することはできませんInternet Explorer 5.5のlink text
と、おそらく同じ問題でonLoadイベントの一部としてtop.location.hashを使用しているように、ビューに追加します。
これは機能します。小さなメモ:[Chromeはfaviconでちらつきを表示し、再生/停止ボタンを押す](http://code.google.com/p/chromium/issues/detail?id=50298)。これは一見醜い。 – Blaise