插件窝 干货文章 js如何不刷新加载js

js如何不刷新加载js

使用 脚本 加载 strong 723    来源:    2024-10-19
在 javascript 中不刷新加载 js 有四种方法:1. 使用 标签;2. 使用 xmlhttprequest;3. 使用 fetch();4. 使用 import()。具体使用建议:简单脚本使用 标签或 xmlhttprequest;复杂脚本异步加载使用 fetch() 或 import();避免使用 eval() 执行动态加载的脚本。

如何在 JavaScript 中不刷新加载 JS

有时,我们在 JavaScript 中需要动态加载和执行额外的 JavaScript 文件,而不刷新整个页面。这在异步加载代码片段、修复错误或更新应用程序功能时很有用。以下方法可以实现不刷新加载 JS:

1. 使用 <script> 标签</script>

<script type="text/javascript" src="new-script.js"></script>

这种方法很简单,但它要求服务器发送新脚本文件作为响应。

2. 使用 XMLHttpRequest

let xhr = new XMLHttpRequest();
xhr.open('GET', 'new-script.js', false);
xhr.send();
eval(xhr.responseText);

这种方法使用 AJAX 从服务器异步获取脚本文件并立即执行它。

3. 使用 fetch()

fetch('new-script.js')
  .then(response =&gt; response.text())
  .then(script =&gt; eval(script));

fetch() API 提供了从服务器异步获取脚本文件并执行它的现代方法。

4. 使用 import()

import('./new-script.js').then(module =&gt; {
  // 执行脚本
});

import() 语法允许动态加载和执行 ES 模块。它返回一个 Promise,当模块加载和执行完成后解析。

具体使用建议:

  • 对于简单的脚本,可以使用 <script> 标签或 XMLHttpRequest。</script>
  • 对于需要异步加载复杂脚本的情况,建议使用 fetch() 或 import()。
  • 避免使用 eval() 执行动态加载的脚本,因为存在安全风险。