我遇到了以下情况:有一个带有 url 的页面site.com#hash
。onload
当我在浏览器(Chrome 29 Mac、Safari、IE9 windows)中单击刷新按钮时,它会在视觉上刷新(脚本、表单进入初始状态),但在使用以下 JS 时不会触发事件:
window.onload = function(event){
alert('foo');
}
它适用于没有哈希的刷新。我理解,当哈希被改变时,浏览器通常不会发出新的请求,但事实并非如此。我点击了刷新按钮,我看到页面实际上刷新了......但是没有触发事件。
我已经设法让我的代码使用一些特殊功能,如 onReady() (包含在许多库中)......但我真的很想知道这是正常行为还是错误。
PS没有提供小提琴,因为它不会证明问题,对不起。为了证明这一点,请使用这个带有一些哈希的简单页面,例如 site.com/page.htm#somehash
<!DOCTYPE html>
<html>
<head></head>
<body>
123
<script>
window.onload = function(event){
alert("Hello!");
}
</script>
</body>
</html>