如何知道Javascript中的页面是否加载了资源文件

时间:2011-10-27 21:05:22

标签: javascript

如何知道页面是否使用Javascript加载资源文件?

例如某些.css,js或其他类型的文件?

2 个答案:

答案 0 :(得分:3)

这取决于您是否动态添加文件。我将解释JavaScript文件。

使用这段代码加载外部文件:

var scriptElem = document.createElement('script');

scriptElem.onload = function() {alert('Script loaded.');}

scriptElem.src = 'test.js';

document.getElementsByTagName('head')[0].appendChild(scriptElem);

或者如果您通过HTML添加它们,您可以使脚本文件反映它已加载变量的事实。例如。在test.js

// ...rest of file...

window.testLoaded = true;

然后,您可以在页面的任何位置检查window.testLoaded === true

对于CSS文件,您也可以使用第一种技术,但当然不是第二种技术。可以为类.test定义存根定义,然后使用该类创建一个元素,并检查它是否具有您在CSS文件中设置的某种样式。

答案 1 :(得分:2)

使用jQuery.ready事件,这意味着已经设置了所有页面,然后开始执行JavaScript逻辑

$(document).ready(function(){
   //your code
});

如果您需要异步加载内容,那么您应该使用JavaScript代码加载它,就像加载脚本的示例一样:

$.getScript("http://.../some.js", function(){
  //script loaded and hooked on the page; your custom logic here
});

对于任何更复杂的东西,我建议使用像requireJS这样的依赖管理系统。