添加参数后退按钮重定向到上一个网址

时间:2017-07-31 06:17:24

标签: javascript jquery

好的,所以我有这个代码,当我们点击后退按钮时,我可以将当​​前页面上的用户重定向到任何其他页面

代码工作正常,但现在我想将URL参数从上一页传递到重定向页面,例如。让我们说用户所在的主页是www.example.com/ready&val=1&base=2&timeid=3&rfid=4

我希望将& val = 1& base = 2& timeid = 3& rfid = 4传递到用户点击后退按钮时重定向到的域的末尾

<script type="text/javascript">
  !function(){
    var c_link = "www.example.com/time"; 
    var t;             
    try{
      for(t=0;10>t;++t)history.pushState({},"","#");
      onpopstate=function(t){t.state&&location.replace(c_link)}}
    catch(o){}
  }();
</script>

因此,用户访问www.example.com/time我希望&val=1&base=2&timeid=3&rfid=4成为它的结尾。

2 个答案:

答案 0 :(得分:0)

   var c_link = "www.example.com/time&val=1&base=2&timeid=3&rfid=4"; 

请尝试通过网址传递值。

答案 1 :(得分:0)

我不会使用HTML5 history.pushState,因为它不支持IE9和以前的版本。但我可以给你一个更好的解决方案。您可以使用sessionStorageperformance.navigation.type

sessionStorage是一种类似localStorage的存储类型,但它只保存当前标签的数据。

会话存储可以像这样使用。

sessionStorage.setItem('key', 'value'); //saves the value
sessionStorage.getItem('key'); //gets the saved value

performance.navigation.type是浏览器是保存用户导航信息的变量。

if(performance.navigation.type == 2){
  //User is coming with back button
}

通过上述信息,我们可以轻松解决您的问题。

下一页的脚本

var values = {
    val: 1,
    base: 2,
    timeid: 3,
    rfid: 4
}
sessionStorage.setItem('returnData', JSON.stringify(values))

这是我们的主页。

if(performance.navigation.type == 2){
  var backValues = JSON.parse(sessionStorage.getItem('returnData'));
  //Do whatever you need with backValues
}