嵌入在所提供服务的 HTML 页面中的 JavaScript 是否可以访问页面请求 URL 及其参数?
答案1
window.location.search 将返回一个字符串。如果您需要解析该字符串以挑选出您认为有用的参数,那么我建议您执行以下操作:
var obj = {};
str.replace(/([^=&]+)=([^&]*)/g, function(m, key, value) {
obj[decodeURIComponent(key)] = decodeURIComponent(value);
});
如果你的 URL 查询字符串参数列表中有一个参数,例如 'userId=591',那么要从对象中检索该参数,你只需使用obj.userId
来源:https://stackoverflow.com/questions/8648892/convert-url-parameters-to-a-javascript-object(lwburk 的回答)。使用自定义函数来replace()
解决这个问题已经过尝试和测试。我第一次接触这种技术是在 2011 年,但早于上面给出的代码,所以它的跨浏览器兼容性非常好。
答案2
是的,可以通过 获得window.location.search
。