window.location.replace中的其他参数

时间:2016-12-02 13:14:07

标签: javascript html

我有以下代码,我正在尝试确定用户按哪个按钮。

function Navigation(navigating, timed) {
  if (navigating == general) {
    if (timed) {
      window.location.replace('general.html?timed=' + timed);
    } else {
      window.location.replace('general.html');
    }
  } else if (navigating == sport) {
    if (timed) {
      window.location.replace('sport.html?timed=' + timed);
    } else {
      window.location.replace('sport.html');
    }
  } else if (navigating == music) {
    if (timed) {
      window.location.replace('music.html?timed=' + timed);
    } else {
      window.location.replace('music.html');
    }
  }
}
<button type="button" id="general" onclick="Navigation(general, null)">General Knowledge</button>
<button type="button" id="sport" onclick="Navigation(sport, null)">Sport</button>
<button type="button" id="music" onclick="Navigation(music, null)">Music</button>
<button type="button" id="generalTimer" onclick="Navigation(general, 'true')">Timed General Knowledge</button>
<button type="button" id="sportTimer" onclick="Navigation(sport, 'true')">Timed Sport</button>
<button type="button" id="musicTimer" onclick="Navigation(music, 'true')">Timed Music</button>

它确实有效,但是当我到达下一页时,我不知道如何获取定时变量来影响页面。

3 个答案:

答案 0 :(得分:0)

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

用法

Example URL:
http://www.example.com/index.php?id=1&image=awesome.jpg

Calling getQueryVariable("id") - would return "1".
Calling getQueryVariable("image") - would return "awesome.jpg".

来源: CSS-TRICKS

答案 1 :(得分:0)

您可以从window.location.search获取网址参数。此函数将解析值,并允许您获取所有值或仅获取单个值。

遗憾的是,由于iframe的限制,它无法在调试窗口中运行。

&#13;
&#13;
function urlParams(key) {
  const search = location.search.slice(1)
    .split(/\=|\&/)
    .filter(val => val !== '')

  const obj = {}
  for (let ii = 0; ii < search.length; ii+=2) {
    obj[search[ii]] = search[ii + 1]
  }
  return key
    ? obj[key]
    : obj
}

console.log(
  urlParams('testing'), // get specific param
  urlParams() // get all params
)
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用localstorage 例如: 首先通过这样的代码将已选择的值保存到localstorage localStorage.nav =导航; 然后 对于nextpages和whever你想要调用值 的document.getElementById( “结果”)的innerHTML = localStorage.nav。 例如,用

写下来