动态脚本生成和输出问题
Dynamic script generation and output issues
在我的页面上,我需要与src=some_external_path
元素制作一个动态脚本。该脚本元素下载了一些JS内部和JS实习生需要执行,以提取一些图像内容。
我的问题是,它需要一些时间来完成JS执行内的脚本元素,它是如何实现的?
如果我在脚本末尾插入警报或运行一些尴尬的for
循环,不幸的是它不与setTimeOut
函数一起工作。
下面是示例代码:
var s = document.createElement('script');
s.setAttribute("src", "some_external_path");
document.getElementById('test').appendChild(s);
// if i replace that alert - doesn't work, it seems page needs some delay
alert(document.getElementById('test').text);
我也试过这样做:
setTimeout(function(scriptElement){
document.getElementById('test').appendChild(scriptElement);
}, 5000, s);
它也不起作用,我也想过在脚本元素内执行代码,但由于安全限制(脚本),它似乎不起作用。文本或脚本。
你能建议什么使这个代码完整的交易没有循环和希望自制延迟吗?
http://api.jquery.com/jQuery.getScript/
如果您不想使用jQuery,只需查看它是如何完成的,并从中获得灵感。
这应该可以做到(不需要时不使用jQuery):
var loadScript = function(url, cb){
var s = document.createElement("script"), done = false;
s.setAttribute("src", url);
s.onreadystatechange = s.onload = function(){
if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
done = true;
cb();
}
};
document.getElementsByTagName("head")[0].appendChild(s);
}
你这样称呼它:
loadScript("http://path.to.my/script.js", function(){
alert("YAY its loaded");
});
相关文章:
- 空函数似乎从包装器中清除了一些类,但不是全部.试图找出问题所在
- 电话间隙没有互联网警报弹出问题
- 从不同选项卡打开时出现Javascript弹出问题
- 什么'这个Javascript函数的输出有问题
- IE 中的 Javascript window.close() 弹出问题
- 完整日历弹出问题
- 模态弹出问题
- 关于确定数组中存储的最大值的不同方法的一些问题(加上输出消息问题)
- 在angular js中向控制器注入常量(模式弹出问题)
- Facebook登录弹出问题
- Knockout-弹出问题编辑项目
- 解决浏览器弹出问题
- 在Javascript中输入和输出有问题
- chrome新版本37中的弹出问题
- phanttomjs:绝对路径工作,但相对路径给出问题
- 显示正确输出的问题.JS单选按钮的选择和添加
- Jquery输出值问题
- Javascript滑出问题
- 需要帮助解决模态弹出问题
- iPad Safari弹出问题