我写了下面的javascript代码赶上F5按键和防止令人耳目一新的用户:
(我知道这不是一个好主意,但我坚持这个任意一个是否喜欢还是不喜欢。而且这个问题我问是关于为什么下面的脚本不能与Safari 4的工作,但适用于其他浏览器。)
var fn = function (e)
{
if (!e)
var e = window.event;
var keycode = e.keyCode;
if (e.which)
keycode = e.which;
var src = e.srcElement;
if (e.target)
src = e.target;
// 116 = F5
if (116 == keycode)
{
// Firefox and other non IE browsers
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
// Internet Explorer
else if (e.keyCode)
{
e.keyCode = 0;
e.returnValue = false;
e.cancelBubble = true;
}
return false;
}
}
// Assign function to onkeydown event
document.onkeydown = fn;
上面的代码完全适用于IE 6,7和8,从Firefox 2.0起以及在浏览器。 然而,它没有在Safari 4中工作了窗户。 按F5键刷新文件。 有趣的是,在Safari浏览器的代码,如果(e.preventDefault)部分内获得以上,但由于某种原因,其没有阻止默认动作即刷新页面。
这是Safari 4的一个bug或者是有一些野生动物园特定的代码,我需要写?
谢谢