检查Ajax调用中是否加载了JavaScript?

时间:2013-06-04 15:53:37

标签: javascript ajax

我在Ajax调用oncomplete中向我的站点添加了一个JavaScript文件(使用appendChild)。之后我试图调用该文件中包含的函数。像这样:

// append the JS to the head
document.getElementsByTagName('head')[0].appendChild(element);

// call a function that is contained in the js file
myFunction();

对myFunction的调用表示“myFunction()未定义”。问题是,我怎么知道什么时候定义?

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以做到

if (myfunction != undefined)
{
}

另外,为了确保它是一个功能,你可以添加这个

if(typeof (window.myFunction) == ‘function’) {

答案 1 :(得分:1)

您可以使用onload找出它何时完成。

var s = document.createElement('script');
 s.onreadystatechange = s.onload = function() {
    var state = s.readyState;

    if (!callback.done && (!state || /loaded|complete/.test(state))) {
        // done!
    }
};
s.src = "myurl/myscript.js";
document.getElementsByTagName('head')[0].appendChild(s);