if (typeof window.onload != 'function') { window.onload = func; } JS addLoadEvent问题 function add...

JavaScript\u4e2d\u5173\u4e8ewindow.onload\u7684\u7528\u6cd5

\u5982\u679c\u5148\u524d\u5df2\u8fd1\u6709\u4e86\u4e00\u4e2awindow.onload=function(){};
\u5728\u8fd9\u6837\u5b9a\u4e49\u5c31\u4f1a\u8986\u76d6\u6389\u539f\u6765\u7684\uff0c\u6240\u4ee5addLoadEvent\u505a\u4e2a\u5224\u65ad,\u5982\u679c\u5df2\u7ecf\u5b9a\u4e49\u8fc7\u5219\u52a0\u8fdb\u53bb\u4e00\u4e2a\uff0c\u6ca1\u6709\u5b9a\u4e49\u5219\u91cd\u65b0\u5b9a\u4e49\u4e00\u4e2a

oldonload\u662f\u4e00\u4e2a\u51fd\u6570\u53d8\u91cf\uff0c\u51fd\u6570\u8c03\u7528\u7684\u65f6\u5019\u8981\u5728\u540d\u5b57\u540e\u52a0\u62ec\u53f7\uff0c\u6240\u4ee5oldonload()\u7684\u610f\u601d\u662f\u8c03\u7528\u539f\u6765\u7684onload\u65b9\u6cd5

window.onload可以是一个函数。
如果是,这个函数将在页面加载完成之后被执行。
这里typeof是检测类型,函数的类型就是"function"这个字符串。
那么,如果(typeof window.onload != 'function')也就是说window.onload还没有被赋值,就直接把它赋值为func。否则,说明有程序先对其赋值了,那么在页面加载完成之后,应该先执行现有函数再执行自己的新的func。这里现有函数是oldonload()有问题,因为没有赋值。应该是:
else {
var oldonload = window.onload;
window.onload=function(){oldonload();func();}
}
这里先用oldonload变量把现有的window.onload存下来。然后【应该先执行现有函数再执行自己的新的func】是两件事。为了按顺序完成两件事,所以这里又多写了一个函数,函数内容是{oldonload();func();}然后这个函数被赋值给了window.onload。

扩展阅读:xbox series x ... this war of mine ... windows 10 ... captain of industry ... paperpass免费入口 ... if you ... windows file recovery ... univer ... o two o ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网