使用js写一个方法动态移除head里的js引用

343 阅读1分钟

"```javascript function removeScriptBySrc(src) { const scripts = Array.from(document.getElementsByTagName('script')); scripts.forEach(script => { if (script.src && script.src.includes(src)) { script.remove(); } }); }


上述代码是一个使用 JavaScript 编写的方法,用于动态移除 `<head>` 标签中的 `<script>` 引用。该方法接受一个参数 `src`,表示需要移除的引用的 URL。

首先,我们使用 `document.getElementsByTagName('script')` 获取到页面中所有的 `<script>` 元素,然后使用 `Array.from` 将其转换为数组,以便后续操作。

接下来,使用 `forEach` 方法遍历数组中的每一个 `<script>` 元素。对于每个元素,我们使用 `script.src` 来获取其 `src` 属性,即引用的 URL。然后,我们使用 `includes` 方法判断该 URL 是否包含传入的 `src` 参数。

如果包含,则使用 `remove` 方法将该 `<script>` 元素从文档中移除。

使用该方法,你可以在需要的时候动态移除 `<head>` 中的指定脚本引用。比如,假设你想移除一个名为 `example.js` 的脚本引用,你可以这样调用该方法:

```javascript
removeScriptBySrc('example.js');

请确保在调用该方法之前,<script> 元素已经被加载到文档中。另外,需要注意的是该方法只会移除第一个匹配到的脚本引用,如果有多个相同的引用,需要多次调用该方法。

希望这个方法对你有帮助!"