好的,所以我有这个代码,当我们点击后退按钮时,我可以将当前页面上的用户重定向到任何其他页面
代码工作正常,但现在我想将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
成为它的结尾。
答案 0 :(得分:0)
var c_link = "www.example.com/time&val=1&base=2&timeid=3&rfid=4";
请尝试通过网址传递值。
答案 1 :(得分:0)
我不会使用HTML5 history.pushState
,因为它不支持IE9和以前的版本。但我可以给你一个更好的解决方案。您可以使用sessionStorage
和performance.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
}