获取参数和值附加到.js文件的扩展名

时间:2017-08-18 06:55:57

标签: jquery

我正在开发一个包含这样的js文件的网站:

<script type="text/javascript" src="script.js?param=value"></script>

我有什么方法可以 - 从script.js内部 - 获取参数及其价值吗?

1 个答案:

答案 0 :(得分:1)

由于该脚本与HTML解析器同步运行,您可以获取最后一个script元素并阅读其src

var scripts = document.querySelectorAll("script");
var script = scripts[scripts.length - 1];
console.log(script.src); // "script.js?param=value"

然后使用字符串解析来抓取?之后的内容,将其分解为名称/值对等等。

或者,如果您在脚本元素上使用asyncdefer,因此它可能不是最后一个,请查找src包含script.js的人:< / p>

var script = document.querySelector("script[src*=script.js]");
console.log(script.src); // "script.js?param=value"

这可靠性稍差,因为可以重命名脚本。您可以随时使用querySelectorAll("script")并找到具有您期望的排序参数的那个。

为避免疑义:我不推荐它。我更喜欢通过初始化调用传递选项,或者在添加脚本之前要求定义对象(比如Google),等等。但是可以这样做。