Tôi đang sử dụng ajax để cập nhật vị trí của một trang trong một khung. Nhưng khi thiết lập vị trí của băm (trên Chrome và một số phiên bản của IE (5.5) cụ thể, nhưng đôi khi trên IE7) trang đang được tải lại.Đặt location.hash trong khung
html sau đây minh họa sự cố.
khung chính .... frame.html là
<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
trang sethash.html là.
<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>`
Trên hầu hết các trình duyệt tải frame.html sẽ hiển thị cảnh báo được tải khi trang được tải. Sau đó, khi nút băm cài đặt được nhấn, url sẽ được thay đổi nhưng thông báo băm được nạp sẽ không hiển thị lại. Trên chrome và một số phiên bản của IE
Microsoft báo cáo có thể là cùng một vấn đề với Internet Explorer 5.5 link text
Tôi không thể sử dụng giải pháp, đó là để nắm bắt sự kiện và không cháy nó microsoft đề nghị, nhưng chỉ cần di chuyển vào chế độ xem, như đang sử dụng set top.location.hash như một phần của sự kiện onLoad.
Tác phẩm này. Ghi chú nhỏ: [Chrome hiển thị một nhấp nháy trong biểu tượng favicon và nút dừng/làm mới] (http://code.google.com/p/chromium/issues/detail?id=50298), trông có vẻ xấu xí. – Blaise