我正在使用需要几个JavaScript文件的引导主题。在我的一些页面上,我加载了很多来自服务器的内容,这意味着在评估javascript文件时,并不是所有的html都会出现在页面上。延迟js加载的最佳方法?
这可以防止事件处理程序绑定到javascript评估后加载的html。到目前为止,我已经通过在ajax调用完成后加载脚本解决了这个问题,但是这对我来说似乎很麻烦。这里是我的功能:
$.get("/path/to/rest/call", function(data) {
$('#htmlElement').html(data);
}).done(function() {
$.getScript("/path/to/js/file.js");
});
我觉得有更好的方法来做到这一点。在那儿?
对我来说没什么好笑的。当页面准备好该脚本时加载脚本。这就是你应该如何去做的。您可以更改脚本,以便在加载时不执行任何操作,然后您可以随时加载它。然后,当你的ajax调用完成时,你只需在该脚本中调用一个函数。这可以简化很多事情,因为当脚本从其中的函数被调用并执行时加载时会解耦。 – jfriend00 2015-02-06 23:06:12
我想你是对的,但我正在加载的脚本是第三方库。我宁愿不去改变它以适应我的需求。 – jasono 2015-02-07 04:31:21
因此,您有第三方库试图直接修改您的页面,而无需调用任何内容。这很奇怪。它是什么库? – jfriend00 2015-02-07 04:57:24