如何全局检测参数并在导航后保持状态

时间:2017-10-03 15:34:58

标签: javascript jquery html

如果输入一次,我需要找到在导航时将参数保留在网址中的方法,即:impressions

例如,用户来?aff=john并导航到website.com/?aff=john我需要保留url参数,因此完整的网站名称为:about-us

这是我到目前为止所尝试的,但它无法正常工作..它不断添加url参数(website.com/about-us/?aff=john

window.location.search

感谢。

编辑:已经尝试过提议..不工作。

3 个答案:

答案 0 :(得分:0)

您可以使用window.location.search保存查询字符串,然后您可以使用jQuery添加链接处理程序,如下所示:

var glString = window.location.search;
$('a').on('click', function(evt) {
    evt.preventDefault();
    window.location = $(this).attr('href') + glString;
});

或者如果您更喜欢javascript

var glString = window.location.search;
var links = document.getElementByTagName('a');
links.addEventListener('click', function(evt) {
    evt.preventDefault();
    window.location = $(this).attr('href') + glString;
});

答案 1 :(得分:0)

  

您可以使用sessionStorage将导航数据保存到密钥中。在需要时随身携带。现在,all browsers support it except Opera mini

希望您的软件没有浏览器限制,并且您的应用程序不必使用过时的浏览器。

从mozilla网站复制后,使用sessionstorage的代码如下:

    // Save data to sessionStorage
    sessionStorage.setItem('key', 'value'); 

    // Get saved data from sessionStorage 
     var data = sessionStorage.getItem('key'); 

    // Remove a key from sessionStorage
    sessionStorage.removeItem('key'); 

    // Remove all data from sessionStorage 
     sessionStorage.clear();

这样,您就不需要在每个页面上附加它。对于域URL和当前浏览器会话,您可以从sessionStorage获取它。

答案 2 :(得分:0)

您可以使用 sessionStorage 暂时保存以前的网址。

sessionStorage.setItem('parameter', 'dataString'); sessionStorage.getItem("parameter");