如果在脚本中在页面中处理 Ctrl-R ,如何防止IE刷新?这也适用于打开浏览器历史记录等。解决方案不需要在非IE浏览器中工作,但它必须在IE 6和IE 7中都有效。
这甚至可能吗?
答案 0 :(得分:2)
我不认为那是可能的,我想也不应该这样。
我看起来我必须重新考虑......
使用this library(download link)我可以实现您的目标。
示例代码。但图书馆能够做得更多。
<html>
<head>
<title>asd</title>
<script type="text/javascript" src="shortcut.js"></script>
</head>
<body>
<script type="text/javascript">
shortcut.add("Ctrl+R",function() {
alert("Don't reload");
});
</script>
</body>
</html>
答案 1 :(得分:1)
试试这个:
<html>
<head>
<script>
function preventStuff () {
var e = window.event;
if(e.ctrlKey) {
switch(e.keyCode) {
case 82 :
document.body.innerHTML += "<p>Window refresh prevented.</p>";
e.returnValue = false;
break;
case 72 :
document.body.innerHTML += "<p>Browser history prevented.</p>";
e.returnValue = false;
break;
}
}
}
</script>
</head>
<body onkeydown="preventStuff()">
</body>
</html>
“82”是“R”的keyCode,“72”是“H”的keyCode。为要捕获的每个键添加一个类似的开关盒。
在IE6和IE7上测试过。