2011-10-22 80 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彈出。但是,編寫你自己的事件處理函數會給你更多的控制權。

相關問題