使用Javascript读取GET参数

时间:2018-01-20 09:22:16

标签: javascript html get

我想在下面的HTML文件中调用Javascript:

<body>
<script src="./sample.js?ts=123456789&id=31ade2"></script>
</body>

如何在ts中使用idsample.js?这甚至可能吗?

我在Google上搜索过,但我发现使用的是location.href,但没有返回tsid

(解释为什么window.location.href没有解决这个问题。) 我们假设上面的脚本位于example.com/index.htmlwindow.location.href中的sample.js会返回example.com/index.html,但不会返回./sample.js?ts=123456789&id=31ade2

1 个答案:

答案 0 :(得分:1)

sample.js内,你需要引用脚本元素本身。简单的方法是阅读document.scripts集合:

const thisScript = document.scripts[document.scripts.length - 1]
const params = getParams(thisScript.src)

console.log(params) // { ts: "123456789", id: "31ade2" }

*注意,为了使其按预期工作,脚本不应异步加载,或者具有defer / async属性。

对于getParams函数,请随意使用您喜欢的任何实现。例如,这篇文章很好:How can I get query string values in JavaScript?