可以多次运行插入的<script>标记而不使用JavaScript中的eval吗?</script>

时间:2015-02-25 15:08:12

标签: javascript html caching browser eval

我必须使用一个插件将js文件捆绑在html文件(小工具)中。对于一个用例,我需要删除并重新实例化一个小工具以运行更新的代码。

所以说我有foo.html

<html>
  <head>
    <script src="foo.js"></script>
  </head>
  <body>...</body>
</html>

foo.js这是将文件注入我的实际文档的头部:

alert("hello");

问题是我只能动态缓存html文件并将我的小工具声明为foo.html?x=123,但我之后的JS文件仍然是foo.js,因此浏览器不会重新运行它

问题
<script>标记插入文档并运行后,有没有办法在不使用模块加载器或eval的情况下再次运行它?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将代码包装在函数中的<script>标记中,然后调用您的函数。这将允许您多次调用您的代码。像这样:

<script>
    function loaded(){
         // JavaScript here
    }
    loaded();
</script>
</body>