我们通过https://athirdpartysite.com/lib.js异步加载第三方脚本。第三方脚本包含一个函数,FSFB.fbcaller('123abc'),当用户点击一个元素时,我们想要调用它。我们使用innerHTML生成#invoker。在将onclick事件附加到#invoker之前,如何确保函数FSFB.fbcaller('123abc')可用?在调用onclick函数之前检查外部js中的函数是否可用
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);
}
您是否收到错误?如果是这样,哪些错误? –
使用与检查类型的答案是最好的,因为它不会抛出错误,如果未定义,它确保目标实际上是一个函数而不是变量 –
@MaherFattouh呃?这两个答案都不会在未定义的时候抛出错误。 *“函数不是变量”* - 变量和函数是正交的概念。变量可以保存功能。 – cdhowie