0

我在 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() 未定义”。问题是,我怎么知道它何时被定义?

谢谢!

4

2 回答 2

1

你可以做

if (myfunction != undefined)
{
}

还要确保它是一个功能,您可以添加它

if(typeof (window.myFunction) == ‘function’) {
于 2013-06-04T15:55:26.677 回答
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);
于 2013-06-04T15:55:34.097 回答