我有一个延迟加载JavaScript文件,当文件中的类准备好使用时,如何捕获事件?我只需要在特定情况下加载此脚本。因此它不是通过onload加载的,而是在if子句中加载的。JavaScript如何在延迟加载的脚本准备就绪时捕获事件?
延迟加载代码,我从这里拿了:http://friendlybit.com/js/lazy-loading-asyncronous-javascript/
if (externalClassRequired) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'http://yourdomain.com/script.js';
var x = document.getElementsByTagName('script')[0]
x.parentNode.insertBefore(s, x);
// When do I know when the class named "geo" is available?
}
更新:
对不起球员,我完全忘了Ajax的! :)我非常关注我的问题,我没有看到@Tokimon的明显解决方案。通过jQuery最简单的解决方案将是:
$.getScript('http://yourdomain.com/script.js', function() {
// callback or use the class directly
});
忘记了Ajax!谢谢! – powtac 2011-03-19 14:05:12