我有一个 HTML 页面,并且一个 javascript 函数附加到<body>onLoad 事件。
我想在页面加载时显示一个消息对话框。由于某些原因,我无法编辑附加到此 onLoad 事件的 javascript 函数。
所以我用一个函数创建了一个新的 javascript 文件,它将显示消息对话框。然后我在我的 javascript 文件中添加了这一行
window.onload = onPageLoad;
Run Code Online (Sandbox Code Playgroud)
onPageLoad() 是我的功能,可以显示消息对话框。
我使用脚本标签在我的 HTML 中附加了这个 javascript 文件。当我运行这个 HTML 文件时,onPageLoad()函数没有被调用。
我想知道<body>标签,onLoad 事件是否覆盖了窗口 onload。如果是这样,有人可以帮助我以某种方式实现此功能。
请记住,我无法编辑我的 HTML 文件,我只能编写新的 javascript 文件。谢谢。
取决于浏览器。window.onload 目前在 OSX 上覆盖 Chrome、Firefox 和 Safari 中的 body onload
您可以将您的功能添加到 onload:
window.onload = function() {
alert('window.onload')
}
if (window.addEventListener) {
window.addEventListener('load', function() {
alert('addEventListener')
}, false);
} else if (window.attachEvent) { // IE < 9
window.attachEvent('onload', function() {
alert('attachEvent')
});
}Run Code Online (Sandbox Code Playgroud)
<body onload="alert('body onload')">
</body>Run Code Online (Sandbox Code Playgroud)
AND/OR 替换
var bodyOnload = document.body.onload;
window.onload = function() {
alert('window.onload')
bodyOnload()
}
if (window.addEventListener) {
window.addEventListener('load', function() {
alert('addEventListener')
}, false);
} else if (window.attachEvent) { // IE < 9
window.attachEvent('onload', function() {
alert('attachEvent')
});
}Run Code Online (Sandbox Code Playgroud)
<body onload="alert('body onload')">
</body>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9134 次 |
| 最近记录: |