Javascript 过滤 HTMLCollection

Javascript filter over HTMLCollection

我想从浏览器加载的所有 js 文件中获取特定的查询参数。我的查询参数位于名为 script.js(例如:https://abcd.com/script.js?code=123)的 js 文件中。在浏览器控制台中,我这样尝试:

const scripts = document.getElementsByTagName("SCRIPT")
scripts.filter((script) => { return script.src.includes("script.js?code=")})

但是这个returns错误Uncaught TypeError: document.getElementsByTagName(...).filter is not a function。请建议代码更改或是否有更好的方法来获得相同的代码?

getElementsByTagName 之类的方法return 不是数组而是节点列表。 只需用方括号和展开运算符将查询选择器括起来,即可从节点列表创建一个数组。

const scripts = [...document.getElementsByTagName("SCRIPT")]
scripts.filter((script) => { return script.src.includes("script.js?code=")})