这是我用来在 IE 和 firefox 上禁用刷新的代码(这适用于F5, Ctrl+F5和Ctrl+ R)
<script language="javascript" type="text/javascript">
//this code handles the F5/Ctrl+F5/Ctrl+R
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (e)
keycode = e.which;
// Mozilla firefox
if ($.browser.mozilla) {
if (keycode == 116 ||(e.ctrlKey && keycode == 82)) {
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
}
}
// IE
else if ($.browser.msie) {
if (keycode == 116 || (window.event.ctrlKey && keycode == 82)) {
window.event.returnValue = false;
window.event.keyCode = 0;
window.status = "Refresh is disabled";
}
}
}
</script>
如果不想使用 useragent 来检测是什么类型的浏览器($.browser 使用 navigator.userAgent 来判断平台),可以使用
if('MozBoxSizing' in document.documentElement.style)
- 为 firefox 返回 true