当前位置: 首页 > 面试题库 >

如何强制脚本重新加载并重新执行?

龙越彬
2023-03-14
问题内容

我有一个页面正在从第三方(新闻提要)加载脚本。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重新加载到该警报。

知道我在做什么错吗?


问题答案:

如何将新脚本标记添加到并加载(重新)加载脚本?如下所示:

<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>

要点是插入一个新的脚本标签-您可以删除旧的脚本标签而不会产生任何后果。如果存在缓存问题,则可能需要在查询字符串中添加时间戳。



 类似资料:
  • 问题内容: 我在程序开始时,根据数据库中的某些内容,以编程方式在JScrollPane中添加了许多组件(JPanels,JLabels等)。 似乎对于GUI(?)而言,此过程太快了,因此JScrollPane并不总是正确更新,即,即使内部JPanel大于可见区域,滚动条也不可见。 调整窗口大小(JFrame)可以解决此问题,因为我认为Java在调整组件大小时会重新打印它们。 作为测试,我添加了一个

  • 我目前正在尝试将类加载到我的应用程序中,这样我就可以过滤掉那些不包含任何test/-方法的类。我希望以后在我的应用程序中运行这些测试。 到目前为止,一切都很好-除了我正在使用的(或者可能是任何)似乎没有实际重新加载位于我的应用程序类路径上的类。 更准确地说,我的应用程序的用户首先选择一些源文件。然后将它们复制到临时位置,并将许多正则表达式匹配/替换对应用于原始源文件的副本。接下来,拷贝被编译,然后

  • 问题内容: 我正在使用未从HTTP请求调用的进程中的Django数据库模型。该过程应该每隔几秒钟轮询一次新数据并对其进行一些处理。我有一个循环,它hibernate了几秒钟,然后从数据库中获取所有未处理的数据。 我看到的是,在第一次获取之后,该进程再也看不到任何新数据。我进行了一些测试,尽管每次我都在构建新的QuerySet,但看起来Django正在缓存结果。为了验证这一点,我从Python sh

  • 问题内容: 背景: 我有一个MainTest类,其中包含许多按钮,每个按钮都实例化我正在编码/测试的类。我希望这些类的代码/测试周期更快,并希望每分钟几次快速查看更改的效果。稳定的MainTest大约需要20秒的加载时间,如果我实例化的类中的每个更改都不需要重新加载它,这将不是问题。我想一次加载MainTest,当它实例化另一个类时,我们多次调用它为ChildTest(通过按钮事件),它应该重新加

  • 当我修改文件时,它会在启动后加载配置文件,否则不会重新加载文件。我的IDE是。 我的问题:

  • 基本上,从接收一个单击事件,然后我需要多次更改HTML元素,问题是WebView只显示最后一次更改,这意味着渲染不是立即进行的。 问题:如何制作