我想在加载页面时运行一个函数,但我不想在<body>标记中使用它。
我有一个脚本,如果我在<body>中初始化它,就会运行,像这样:
function codeAddress() {
// code
}
<body onLoad="codeAddress()">
但我想运行它没有<body onload="codeAddress()“>和我尝试了很多东西,例如:
window.onload = codeAddress;
但这并不奏效。
那么,当页面加载时,我如何运行它呢?
窗口。Onload = function(){…等等不是一个很好的答案。
这可能会起作用,但它也会破坏已经与该事件挂钩的任何其他函数。或者,如果另一个函数在你的事件之后钩子到那个事件,它会破坏你的事件。
所以,你可以花很多时间之后试图弄清楚为什么一些东西不再有效了。
这里有一个更有力的答案:
if(window.attachEvent) {
window.attachEvent('onload', yourFunctionName);
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function(evt) {
curronload(evt);
yourFunctionName(evt);
};
window.onload = newonload;
} else {
window.onload = yourFunctionName;
}
}
我一直在使用的一些代码,我忘记了我在哪里找到它给作者的信用。
function my_function() {
// whatever code I want to run after page load
}
if (window.attachEvent) {window.attachEvent('onload', my_function);}
else if (window.addEventListener) {window.addEventListener('load', my_function, false);}
else {document.addEventListener('load', my_function, false);}
希望这对你有所帮助。