我在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()未定义”。问题是,我怎么知道什么时候定义?
谢谢!
答案 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);