禁止浏览器后退的一种实现方法,在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>
基本思路如下: 客户从页面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>
相关文章推荐
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- JS判断浏览器类型的方法总结(IE firefox chrome opera safari)
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- 禁止页面全选复制IE,Opera,Mozilla Firefox,Google Chrome,Safari,Flock等主流浏览器测试成功
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- 兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
- [转]JS根据useAgent来判断edge, ie, firefox, chrome, opera, safari 等浏览器的类型及版本
- 首尾相连的跑马灯效果(在IE Firefox Opera Safari中均已测试)
- Opera、FireFox、IE、Safari中CSS差别及兼容CSS的解决方法
- 怎么实现在FireFox IE Opera Safari 都可以正常播放WMV和MOV的网页播放器代码
- JS判断浏览器IE6、IE7、IE8、IE9、IE10、IE11、Chrome、Firefox、Safari、Opera方法,亲测可用
- javascript 实现禁止右键,复制,选取文本 (兼容firefox,IE,chrome等主流浏览器)