【发布时间】:2012-03-09 23:10:28
【问题描述】:
我有一个页面正在加载来自第三方的脚本(新闻提要)。脚本的src url 在加载时动态分配(根据第三方代码)。
<div id="div1287">
<!-- dynamically-generated elements will go here. -->
</div>
<script id="script0348710783" type="javascript/text">
</script>
<script type="javascript/text">
document.getElementById('script0348710783').src='http://oneBigHairyURL';
</script>
从http://oneBigHairyURL 加载的脚本然后使用来自新闻提要的各种内容、漂亮的格式等创建并加载元素到div1287(ID“div1287”在http://oneBigHairyURL 中传递,因此脚本知道在哪里加载内容)。
唯一的问题是,它只加载一次。我希望它每 n 秒重新加载(并因此显示新内容)。
所以,我想我会试试这个:
<div id="div1287">
<!-- dynamically-generated elements will go here. -->
</div>
<script id="script0348710783" type="javascript/text">
</script>
<script type="javascript/text">
loadItUp=function() {
alert('loading...');
var divElement = document.getElementById('div1287');
var scrElement = document.getElementById('script0348710783');
divElement.innerHTML='';
scrElement.innerHTML='';
scrElement.src='';
scrElement.src='http://oneBigHairyURL';
setTimeout(loadItUp, 10000);
};
loadItUp();
</script>
我收到警报,div 被清除,但没有动态生成的 HTML 重新加载到它。
知道我做错了什么吗?
【问题讨论】:
-
我不知道浏览器是否理解您希望它再次下载 js,因为您试图一遍又一遍地加载相同的 url。它可能认为它是相同的并且不打扰。更改 src 时尝试缓存技术:
scrElement.src='http://oneBigHairyURL?v=2'; //auto-increment this value -
@Matt K. 是的,我应该发帖说我已经尝试过了,但无济于事。抱歉,它不是原始帖子的一部分。
-
@JonathanM 我被困在同一件事上,你找到解决方案了吗?添加版本不起作用。
-
@Dr..Net,选择的答案对我有用。
-
@JonathanM 通过生成新的脚本标签,它确实有效。加载相同的标签但只是改变'src'属性的值怎么样?
标签: javascript html feed script-tag