在没有JQuery的情况下加载HTML主体后调用JavaScript脚本的最佳方法是什么?

在没有JQuery的情况下加载HTML主体后调用JavaScript脚本的最佳方法是什么?,javascript,html,events,dom,Javascript,Html,Events,Dom,我有一个较大的.js文件,当前在HTML页面的标题中被调用,但它无法执行,因为在调用脚本时元素尚未加载。实现这一点的最佳方式是什么?我试着加上 document.addEventListener("DOMContentLoaded", load, false); 但这似乎不起作用。在页脚或内联中调用脚本不是选项,JQuery也不是 见面 加载事件在文档加载过程结束时激发。此时,文档中的所有对象都在DOM中,所有图像、脚本、链接和子帧都已完成加载 还有一些特定于Gecko的DOM事件,如DOM

我有一个较大的.js文件,当前在HTML页面的标题中被调用,但它无法执行,因为在调用脚本时元素尚未加载。实现这一点的最佳方式是什么?我试着加上

 document.addEventListener("DOMContentLoaded", load, false);
但这似乎不起作用。在页脚或内联中调用脚本不是选项,JQuery也不是

见面

加载事件在文档加载过程结束时激发。此时,文档中的所有对象都在DOM中,所有图像、脚本、链接和子帧都已完成加载

还有一些特定于Gecko的DOM事件,如DOMContentLoaded和 DOMFrameContentLoaded(可以使用 EventTarget.addEventListener()),在 页面已构建,但不要等待其他资源完成 完成装载


你试过window.onload吗?我听说过,但不知道如何实现。我想加载整个.js文件,而不仅仅是调用一个特定的函数,因为它需要一些事件处理程序才能正常工作。但我可能误解了它的工作原理。这是我第一次尝试在页面头部使用JavaScript,我以前只使用过内联调用。尝试类似于
window.onload=function(){//Now create and append the script tag.}
您可以使用类似于这样的方法来创建脚本标记<代码>变量标记=document.createElement('script');tag.src=“www.example.com/myscript.js”;var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(标记,firstScriptTag)我应该把它放在我的.js或.html文件中的什么位置?在你的
.html
文件中。。。你想把javascript链接到的那个。我不确定我是否完全理解如何使用它。在本例中,没有引用.js文件。这取决于您在加载事件中尝试执行的操作
DOMContentLoaded
只等待HTML完成编写
onload
等待所有资源(图像、脚本等)首先下载。我想我希望load()函数触发,以便初始化事件处理程序,但我也有一些变量引用了页面中显然找不到这些元素的元素。当我尝试初始化事件处理程序时,Chrome的inspect仍然检测到一个错误,说它引用了null。请看示例部分。您只需调用
window.onload=load