at.*_*at. 2 javascript script-tag query-parameters location-href html5-history
例如,我有以下 html:
<body>
<script src="code.js?q=xyz"></script>
</body>
Run Code Online (Sandbox Code Playgroud)
我希望能够q=xyz
从内部读取查询参数code.js
。我试过:
console.log(window.location.href)
Run Code Online (Sandbox Code Playgroud)
但它给了我 html 文档的 URL,而不是code.js
的 URL(然后我可以解析查询参数的 URL)。
有没有办法从该 JavaScript 中获取导入的 JavaScript 文件的查询参数?我知道我可以在服务器上读取查询参数,然后发回嵌入了查询参数的 JavaScript,但我不想要那样。我希望能够将 JavaScript 文件放在可以通过查询参数配置的 CDN 上。
您可以使用document.currentScript.src
访问 的<script>
-src
属性,然后提取查询参数。对于较旧的浏览器(例如 IE 11),请src
通过以下方式访问-attribute:
var scripts = document.getElementsByTagName('script');
var src = scripts[scripts.length - 1].src;
Run Code Online (Sandbox Code Playgroud)
这将返回src
上次执行脚本的 -属性。在某些情况下,最后执行的脚本不是当前脚本(例如,如果脚本操作其他 -<script>
元素),因此它有点不可靠。
归档时间: |
|
查看次数: |
3388 次 |
最近记录: |