我有一个页面正在从第三方(新闻提要)加载脚本。src脚本的url在加载时动态分配(根据第三方代码)。
src
<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以便脚本知道在何处加载内容)。
http://oneBigHairyURL
div1287
唯一的问题是,它只会加载一次。我希望它每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重新加载到该警报。
知道我在做什么错吗?
如何将新脚本标记添加到
<script> function load_js() { var head= document.getElementsByTagName('head')[0]; var script= document.createElement('script'); script.src= 'source_file.js'; head.appendChild(script); } load_js(); </script>
要点是插入一个新的脚本标签-您可以删除旧的脚本标签而不会产生任何后果。如果存在缓存问题,则可能需要在查询字符串中添加时间戳。