外部javascript window.onload提前启动

外部javascript window.onload提前启动,javascript,onload,external-js,Javascript,Onload,External Js,我有一个引用外部javascript文件的页面,当我告诉它在加载时运行函数时,它给了我错误(我认为是因为它在加载页面之前触发。)“无法将属性'innerHTML'设置为null” 加载页面后,需要在此处执行什么操作才能启动run() HTML 请尝试以下方法: window.onload = run 执行window.onload=run()时,您将立即执行run(),并将返回的内容分配给window.onload属性。这就是它无法正常工作的原因。请尝试以下方法: window.onload

我有一个引用外部javascript文件的页面,当我告诉它在加载时运行函数时,它给了我错误(我认为是因为它在加载页面之前触发。)“无法将属性'innerHTML'设置为null”

加载页面后,需要在此处执行什么操作才能启动run()

HTML

请尝试以下方法:

window.onload = run
执行
window.onload=run()
时,您将立即执行
run()
,并将返回的内容分配给
window.onload
属性。这就是它无法正常工作的原因。

请尝试以下方法:

window.onload = run
执行
window.onload=run()
时,您将立即执行
run()
,并将返回的内容分配给
window.onload
属性。这就是它不能正常工作的原因。

应该是:

window.onload = run;
当您这样做时:

window.onload = run();
实际上,您正在运行名为
run
的函数,然后将其返回值(
在本例中为未定义的
)分配给
窗口。onload

这个函数在页面加载之前就已经运行了(因为您是通过执行
run()
来运行它的),此时id为
test的
div
甚至不存在。这就是为什么会出现错误。

应该是:

window.onload = run;
当您这样做时:

window.onload = run();
实际上,您正在运行名为
run
的函数,然后将其返回值(
在本例中为未定义的
)分配给
窗口。onload


这个函数在页面加载之前就已经运行了(因为您是通过执行
run()
来运行它的),此时id为
test的
div
甚至不存在。这就是您出错的原因。

谢谢,如果可以,我会接受您的两个答案。谢谢,如果可以,我会接受您的两个答案。