您的位置:首页 > 运维架构

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

2012-04-18 20:46 776 查看
最近的项目中,收到客户的需求,要求浏览器禁止后退,搜索了一下,发现在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.onload=noBack;

window.onpageshow=function(evt) {

if (evt.persisted) noBack();

}

window.onunload=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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐