禁止浏览器后退的一种实现方法,在IE, Firefox, Safari, Chrom 和 Opera上测试通过

最近的项目中,收到客户的需求,要求浏览器禁止后退,搜索了一下,发现在Firefox上的实现需要特别注意,firefox的缓存机制使的通过后退按钮到达的页面不会自动执行默认的JavaScript.

基本思路如下: 客户从页面B到达页面C, 在页面C按回退键回退到页面B时,页面B上的Javascript使浏览器自动前进。


以下是实现代码:


a.html

<html>

<body>

<h1>A Heading</h1>

<p>Webpage A</p>

<a href="b.html">Link to B</a>

</body>
</html>


b.html

<html>
<head>
    <script type="text/javascript">

        function noBack() {
            window.history.forward();
            setTimeout("noBack()", 500);
        }
        noBack();
        
        window.οnlοad=noBack;
        
        window.οnpageshοw=function(evt) {
            if (evt.persisted) noBack();
        }
        
        window.οnunlοad=function() {
            void(0);
        }
        
    </script>
</head>




<body>

<h1>B Heading</h1>

<p>Webpage B</p>

<a href="c.html">Link to C</a>

</body>
</html>



c.html



<html>
<body>

<h1>C Heading</h1>

<p>Webpage C</p>

<a href="a.html">Link to A</a>

</body>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值