2009-06-15 2 views
0

Ctrl-R이 스크립트로 페이지에서 처리 될 때 IE가 새로 고쳐지지 않게하려면 어떻게합니까? 이것은 브라우저 히스토리를 여는 것과 같은 일을합니다. 비 IE 브라우저에서는 솔루션이 작동 할 필요는 없지만 IE 6 및 IE 7 모두에서 작동해야합니다.키 누르기가 처리 될 때 IE가 새로 고쳐지지 않도록하십시오.

이것이 가능합니까?

+0

여기에 분명한 질문이 있습니다. 왜? – innaM

+0

기존 기능을 유지하려고합니다. 키보드 후크 및 COM 구성 요소로 수행 된 기존 기능. 당신은 정말로 알고 싶지 않습니다. –

답변

1

이 시도 :

<html> 
<head> 
<script> 
function preventStuff() { 
    var e = window.event; 
    if(e.ctrlKey) { 
    switch(e.keyCode) { 
    case 82 : 
     document.body.innerHTML += "<p>Window refresh prevented.</p>"; 
     e.returnValue = false; 
     break; 
    case 72 : 
     document.body.innerHTML += "<p>Browser history prevented.</p>"; 
     e.returnValue = false; 
     break; 
    } 
    } 
} 
</script> 
</head> 
<body onkeydown="preventStuff()"> 
</body> 
</html> 

"82", "R"에 대한 keyCode를하고, "72", "H"의 keyCode를이다. 캡처하려는 모든 키에 대해 유사한 스위치 케이스를 추가하십시오.

IE6 및 IE7에서 테스트되었습니다.

+0

F5는 자바 스크립트로 중지 할 수 없습니다. – Alsciende

+1

O 예 F5를 중지 할 수 있습니다 http://paste.bradleygill.com/index.php?paste_id=10382 – jitter

+0

오 오케이 당신이 event.keyCode를 쓰고 있습니다. 나는 그걸 보지 못했습니다 ... – Alsciende

2

나는 가능한 것을 생각하지 않는다. 나는 그렇게해서는 안된다. 나는 다시 생각해야한다처럼

나는

내가 당신이 원하는 것을 얻을 수 this library ( download link)를 사용하여 ... 보인다.

샘플 코드. 그러나 도서관은 훨씬 더 많은 것을 할 수 있습니다.

<html> 
    <head> 
     <title>asd</title> 
     <script type="text/javascript" src="shortcut.js"></script> 
    </head> 
    <body> 
     <script type="text/javascript"> 
      shortcut.add("Ctrl+R",function() { 
       alert("Don't reload"); 
      }); 
     </script> 
    </body> 
</html> 
+0

@ 지터 : 인상적! 그러나 슬프게도 이것은 F5에서 작동하지 않습니다 - 바로 가기 코드는 실행되지만 페이지는 어쨌든 새로 고칩니다. (IE6에서 테스트 중이지만 다른 버전에서는 다를 수 있습니다.) – RichieHindle

+0

Well C. Ross는 Ctrl + R 만 요청했습니다. – jitter

+0

그리고 IEhttp : //paste.bradleygill에서 F5도 javascript로 차단할 수 있습니다. co.kr/index.php? paste_id = 10382 – jitter

관련 문제