javascript - 添加参数以后退按钮重定向到上一个 url

标签 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 成为其结尾。

最佳答案

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

<小时/>

sessionStorage 是一种类似于 localStorage 的存储类型,但它只保存当前选项卡的数据。

session 存储可以这样使用。

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
}

关于javascript - 添加参数以后退按钮重定向到上一个 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45408667/

相关文章:

javascript - 通过 JavaScript 和 browserify 理解 require() 和 module.exports

javascript - 在浏览器窗口外捕获鼠标位置?

javascript - 在单个文件中 bundle typescript 输出

javascript - Chrome 与 Firefox Javascript 行为

javascript - 在 Android 上的 Chrome 上的 jQuery.ready() 中没有自动播放 mp3 文件

javascript - 我的变量拒绝在我的 Div 中显示

javascript - 如何使用 jquery 将值列表发送到 php

php - 接受来自backbone.js的JSON 在PHP中同步

javascript - 如何使用 Jquery 设置隐藏输入字段的值?

javascript - 在 Firefox 和 Chrome 中将 <br/> 更改为\n\r