【发布时间】:2016-08-20 01:51:33
【问题描述】:
从 StackOverflow 获得以下代码。它应该解析 URL 中的变量,但是当我在 for 循环中调试 sURLVariables 的值时,它的值始终为空。任何想法为什么?
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'), sParameterName, i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
【问题讨论】:
-
PS 由于某种未知原因(对我而言),我也无法将所有代码放入代码块中。
-
window.location.search.substring(1)的值是多少? -
另外,您提到了 Firefox……这是否意味着您在其他浏览器上看到了不同的行为?
-
我所有的调试扩展都是针对 Firefox 的,所以不确定 window.location.search.substring(1) 返回的确切值,但是通过 alert() 输出它;也返回一个空字符串。因此,Firefox 和 Chrome(均为最新版本)中的行为是相同的。并且刚刚在 Firefox 中检查了它的确切值——它是一个空字符串。
-
我已将示例上传到atomz.host-ed.me/#?l=en。我正在测试网站的不同口语。如果您单击其中一个标志,它应该会更改浏览器标题,但它不会。
标签: javascript decodeuricomponent