好的,我有这段代码,允许我在用户单击后退按钮时将当前页面上的用户重定向到任何其他页面
代码工作正常,但现在我想将 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 和以前的版本不支持它。但我可以给你一个更好的解决方案。您可以使用 sessionStorage
和 performance.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/