插入的 <script> 标签是否可以多次 运行 而无需在 JavaScript 中使用 eval?
Can an inserted <script> tag be run multiple times without using eval in JavaScript?
我必须使用一个将 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 的情况下再次 运行 它?
谢谢!
您可以将您的代码包装在函数中的 <script>
标记中,然后调用您的函数。这将允许您多次调用您的代码。像这样:
<script>
function loaded(){
// JavaScript here
}
loaded();
</script>
</body>
我必须使用一个将 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 的情况下再次 运行 它?
谢谢!
您可以将您的代码包装在函数中的 <script>
标记中,然后调用您的函数。这将允许您多次调用您的代码。像这样:
<script>
function loaded(){
// JavaScript here
}
loaded();
</script>
</body>