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

이 명령은 페이지를 시작하고 다시로드하기 전에 컨텍스트 메뉴를 트랩합니다. 텍스트 영역까지 코드 나 테스트 페이지를 보지 않고 말할 수 없었습니다. –

+0

http://synaptik.co.cc/james를 참조하십시오. Google 크롬을 사용 중이며 컨텍스트 메뉴가 아직 있습니다. –

0

가장 짧은 방법은 아마도 body 태그에 마우스 오른쪽 버튼을 클릭하면 이벤트를 차단하는 것입니다, like :

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

"false"는 기본 컨텍스트 메뉴가 표시되지 않도록합니다.

자신의 이벤트 처리기 함수를 작성하면 더 많은 제어권을 얻을 수 있습니다.

관련 문제