跟踪是否加载了动态javascript文件

时间:2010-10-05 00:37:50

标签: javascript

我通过以下方式动态加载javascript。

function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile("myscript.js", "js") //dynamically load and add this .js file

此示例取自http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml

现在问题是在调用js函数

之后
loadjscssfile("myscript.js", "js")

我想跟踪它是否已加载。因为我想在加载的文件中调用一个函数。感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用try / catch语句,如果调用缺少的函数(在try中),则不会出现错误。如果需要,在catch中放置一个异常处理程序。

答案 1 :(得分:0)

除了try / catch方法之外,您还可以创建一些可以测试是否存在间隔的内容,直到您捕获脚本为止:

var myCheck = setInterval(function {
  if (typeof(myFunc) == 'function') {
    clearInterval(myCheck);

    // Anything else here with your script.
  }
}, 100);