在调用onclick函数之前,检查外部js中的函数是否可用

时间:2017-03-09 17:37:50

标签: javascript callback

我们通过https://athirdpartysite.com/lib.js异步加载第三方脚本。第三方脚本包括我们想要在用户点击元素时调用的函数FSFB.fbcaller('123abc')。我们使用innerHTML生成#invoker。在将onclick事件附加到#invoker之前,如何确保函数FSFB.fbcaller('123abc')可用?

window.onload = function () {
    function insertAfter(referenceNode, newNode) {
        referenceNode.parentNode.insertBefore(newNode,
    referenceNode.nextSibling);
}

ar el = document.createElement("div");
el.id = "invoker-container";
el.innerHTML = '<ul><li></li><li><div id="invoker"></div></li></ul>';  
var afterel = document.querySelector(".master-container");
insertAfter(afterel, el);
}

2 个答案:

答案 0 :(得分:2)

您可以使用此条件进行测试:

if (window.FSFB && window.FSFB.fbcaller) {
    // Function is available
}

答案 1 :(得分:0)

if(typeof FSFB == "function"){
  if(typeof FSFB.fbcaller == "function"){
    //function exist
  }
}

这应该有效