获取文档头中脚本和样式的 url

Gue*_*lla 2 javascript dom

有什么方法可以获取加载到文档头部的外部 CSS 和 Javascript 的 URL?

例如在头部:

<script type="text/javascript" src="/path/somewhere/script.js">
<link rel="stylesheet" href="/path/somewhere/styles.css">
Run Code Online (Sandbox Code Playgroud)

我如何获取/path/somewhere/script.jsDOM /path/somewhere/styles.css

Cer*_*nce 5

只需使用querySelector并提取适当的属性:

const script = document.querySelector('head > script');
console.log(script.src);
const css = document.querySelector('head > link');
console.log(css.href);
Run Code Online (Sandbox Code Playgroud)

(由于沙箱,在代码片段中不起作用)

或者,如果您需要所有 script/css URL,而不仅仅是每个 URL 之一,请循环遍历它们:

document.querySelectorAll('head > script')
  .forEach(script => console.log(script.src));
document.querySelectorAll('head > link')
  .forEach(css => console.log(css.href));
Run Code Online (Sandbox Code Playgroud)

  • [`querySelector`](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector) 只会找到第一个匹配的元素。要查找所有匹配项,请使用 [`querySelectorAll`](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll),它返回一个 DOM [`NodeList`](https:// /developer.mozilla.org/en-US/docs/Web/API/NodeList)。 (2认同)
  • @Guerrilla:您也可以使用“head”作为根。使选择器的效率稍微提高一些。`document.head.querySelectorAll("脚本")` (2认同)