javascript:和window.onload
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript:和window.onload,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1205字,纯文字阅读大概需要2分钟。
内容图文
我今天遇到了一个奇怪的错误.我有一个简单的用户脚本,正在向所有站点添加window.onload事件.但是其中一个站点的< body onl oad =“ func();”>定义.发生的是window.onload照常工作,但< body onl oad =“”>安装用户脚本后停止为该网站工作.
当我使用window.body.onload时,两者都运行良好.我知道window.onload和< body onl oad =“”>是做相同事情的不同方法,但是window.body.onload中发生了什么,这使得它与< body onl oad =“”>一起很好地工作?
解决方法:
正如Myforwik所说,您与window.onload = …;挂钩的事件.与< body onl oad =“ ...”>关联的事件相同.这是窗口加载事件.这两种钩住它的方式都是旧的DOM0样式,这种样式已经过时了.如果同时指定两者,则后者将获胜,淘汰前者.如果多个脚本独立设置window.onload,则情况相同.
为避免此类问题,请使用DOM2样式的事件连接:
if (window.addEventListener) {
// DOM2 standard
window.addEventListener("load", handler, false);
}
else if (window.attachEvent) {
// Microsoft's precursor to it, IE8 and earlier
window.attachEvent("onload", handler);
}
else {
// Some pre-1999 browser
window.onload = handler;
}
function handler() {
}
可以将多个DOM2处理程序附加到同一事件,因此可以使用多个不相关的脚本进行订阅.而且,DOM2处理程序与DOM0处理程序愉快地共存.
因此,如果您更新用??户脚本以使用上述脚本,则< body onl oad =“ ...”>页面将不受影响.
内容总结
以上是互联网集市为您收集整理的javascript:和window.onload全部内容,希望文章能够帮你解决javascript:和window.onload所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。