javascript - 动态加载脚本

标签 javascript html dom-events yui

我正在我的代码中动态加载一些 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/

相关文章:

javascript - 防止文件生成新版本 - Webpack

javascript - 缩小和混淆 CSS,类似于 Javascript

javascript - 如何向javascript中的回调函数添加额外的参数

javascript - 如何将同一类型的多个事件绑定(bind)到单个元素

javascript - 如何在reactjs中将数据从子组件传递到父组件

javascript - 我可以使用 javascript 设置 window.print 设置吗?

javascript - 无法在另一个 div 内创建多个 div

html - 设置 flex 元素间距

javascript - SVG 对象 - 如何正确缩放和拖动它?

javascript - 如何捕获在扩展图标上触发的事件?