2011-10-22 36 views

回答

0
<div id="nocontext">No context.</div> 

window.onload = function(){ 
    document.getElementById('nocontext').oncontextmenu = function(){ 
     history.go(0); 
     return false; 
    } 
} 

注意:我抄什么贾里德Farrish贴在他的jsfiddle和詹姆斯·提及使用history.go(0);我在Explorer 9,Firefox和Safari中测试了以上脚本。

0

您正在寻找这样的事情:

function click(e) { 
    if (navigator.appName == 'Netscape' && e.which == 3) { 
    window.location.reload(); 
    return false; 
    } else { 
    if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) 
    window.location.reload(); 
    return false; 
    } 
    return true; 
    } 
document.onmousedown=click; 
document.oncontextmenu=new Function("window.location.reload();return false;"); // line added 

除了重装你可以使用:

history.go(0); 
window.location.href=window.location.href; 
+0

页面正在重新加载,但上下文菜单呢?我不想那样。还有一件事,我在页面上有一个textarea字段,我不允许写东西(但我可以在IE中完成)。 –

+0

这会在启动并重新加载页面之前捕获上下文菜单。至于textarea。没有看到代码或测试页,我无法告诉你。 –

+0

请参阅http://synaptik.co.cc/james我正在使用谷歌浏览器,上下文菜单仍然存在。 –

0

最短的方式很可能是在身体标记拦截右键单击事件,像这样:

<html> 
    <body oncontextmenu="window.location.reload(); return false;" onload="alert('loaded');"> 
     Testing 1 2 3 ... 
    </body> 
</html> 

“返回false”阻止默认的contextmenu弹出。但是,编写你自己的事件处理函数会给你更多的控制权。

相关问题