我正在我的代码中动态加载一些 YUI 脚本以响应 Ajax 请求。发出请求时,DOM 和页面已完全加载 - 这是对用户事件的响应。
我添加了 <scripts>
tag to head as children,但我遇到了一些问题:
我添加了两个托管在 Yahoo! 上的 YUI 脚本CDN 和我自己的内联脚本负责创建对象、添加事件监听器和呈现 YUI 小部件。但是当我的脚本运行时,YUI 脚本没有加载但给我错误并且没有按我预期的那样运行。
有一种方法可以只在 YUI 脚本完全加载时运行我的脚本(或定义要运行的函数)吗?
最佳答案
您是否尝试过 onload 事件?
编辑:(感谢 Jamie)
var script = document.createElement("script");
script.type = "text/javascript";
script.src = src;
//IE:
if(window.attachEvent && document.all) {
script.onreadystatechange = function () {
if(this.readyState === "complete") {
callback_function(); //execute
}
};
}
//other browsers:
else {
script.onload = callback_function; //execute
}
document.getElementsByTagName("head")[0].appendChild(script);
关于javascript - 动态加载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125897/