2011-10-22 10 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

ページがリロードされていますが、コンテキストメニューはどうですか?私はそれを望んでいない。もう1つ、私はページ上にtextareaフィールドがあり、私は何かを書くことは許されません(しかし私はIEで行うことができます)。 –

+0

これは、ページを起動してリロードする前にコンテキストメニューをトラップします。テキストエリアまで。コードやテストページを見ずに私にあなたを伝えることはできませんでした。 –

+0

http://synaptik.co.cc/jamesを参照してください。私はGoogle Chromeを使用しています。コンテキストメニューはまだあります。 –

0

最短の方法は、おそらくbodyタグで右クリックしてイベントを傍受するだろう、そうですね:

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

"return false"は、デフォルトのコンテキストメニューがポップアップしないようにします。

独自のイベントハンドラ関数を記述すると、さらに制御が可能になります。

関連する問題