我是否可以(使用javascript)检测是否已加载javascript文件,如果没有,则添加onload处理程序?脚本标记由第三方库动态添加,因此我无法自己动态插入它。
答案 0 :(得分:1)
这是一个丑陋的解决方案,但可能:
function thirdPartyLoaded() {
// here we will have code, that will be executed,
// when 3rd party script will be loaded
}
// Also we know, that 3rd party have some global object or function
// Let it be IAm3dPartyFunc for example
// Then we somewhere add continuos watcher function with setInterval
var watchFor3rd = setInterval(function(){
if (undefined != IAm3dPartyFunc) {
thirdPartyLoaded();
clearInterval(watchFor3rd);
}
}, 500);
每500ms(0.5秒)调用此函数,如果我们有一些全局对象/函数,将检查第三方可以拥有的函数。但是如果第三方是由真正的gosu制作的,那么它就没有任何全局性的东西,因为所有的工作都可以在一些匿名函数中,这个解决方案将无法工作。
您应该说明您想要使用哪个第三方以及何时使用。