0

我有一个看起来像这样的查询字符串,page3.html?redesigndata=value如果它从page1.html重定向或从page2.htmlpage3.html?new=yes重定向时出现。这是我用来找出查询字符串是什么并在page3.html上执行一些功能的代码no

var locurl = window.location.search;
if (locurl.substring(0, 13) === '?redesigndata') {
  alert("redesign!");
} else if (locurl.substring(0, 4) === '?new') {
  visit = locurl.substring(5);
  alert("somthing!");
  if (visit === 'yes') {
     alert("first!");
  } else if (visit === 'no') {
    alert("again!");
  }
}

但是当我尝试这个脚本时没有收到任何警报,我无法找出它有什么问题。

4

3 回答 3

1

尝试使用此功能

function getQueryString() {
  var result = {}, queryString = location.search.substring(1),
      re = /([^&=]+)=([^&]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

// ...
var myParam = getQueryString()["myParam"];

像这样检查

if(getQueryString()["redesigndata"] != "")
于 2012-07-12T16:22:10.617 回答
1

您发布的代码没有任何问题。如果警报从未触发,那是因为条件从未满足。一旦将查询字符串添加到与您在代码中列出的其中一个匹配的 URL,就会触发警报。

另外,请注意您正在(看似)创建全局变量。

于 2012-07-12T16:19:45.447 回答
1

该脚本适用于我的盒子。请将此脚本放在脚本标签中

于 2012-07-12T16:23:29.930 回答