J'utilise ajax pour mettre à jour l'emplacement d'une page dans un cadre. Mais lors de la définition de l'emplacement du hachage (sur Chrome et certaines versions de IE (5.5) spécifiquement, mais parfois sur IE7) la page est en cours de rechargement.Définition de location.hash dans des cadres
Le code HTML suivant illustre le problème.
le cadre principal .... frame.html est
<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
la page sethash.html est.
<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>`
Sur la plupart des navigateurs, le chargement du fichier frame.html affiche une fois l'alerte chargée lorsque la page est chargée. Ensuite, lorsque le bouton de hachage est enfoncé, l'URL sera modifiée, mais l'alerte chargée ne s'affichera plus. Le chrome et certaines versions de IE
rapport Microsoft peut-être le même problème avec Internet Explorer 5.5 link text
Je ne peux pas utiliser la solution proposée Microsoft, qui est de capturer l'événement et non le feu, mais simplement faire défiler en vue, comme je l'utilise, définissez top.location.hash dans le cadre de l'événement onLoad.
Cela fonctionne. Petite note: [Chrome montre un scintillement dans le favicon et le bouton stop/refresh] (http://code.google.com/p/chromium/issues/detail?id=50298), ce qui semble plutôt moche. – Blaise