문제

Internet Explorer 6에서 특정 키(Ctrl 및 Backspace)를 비활성화해야 합니다.이를 수행하는 레지스트리 해킹이 있습니까?IE6이어야 합니다.감사해요.

긴 편집:

@apandit:앗.백스페이스에 대해 좀 더 구체적으로 설명할 필요가 있습니다.백스페이스 비활성화는 백스페이스가 뒤로 브라우저 버튼을 모방하는 기능을 비활성화한다는 의미입니다.IE에서 초점이 텍스트 입력 필드에 없을 때 백스페이스를 누르는 것은 뒤로(이전 페이지 탐색)를 누르는 것과 같습니다.

Ctrl 키의 경우.새로운 IE 창을 생성하는 링크가 있는 일부 페이지가 있습니다.팝업 차단기를 켜서 이를 차단하고 있습니다.그러나 Ctrl을 클릭하면 새 창이 시작됩니다.

이는 현재 웹 기반 애플리케이션인 키오스크 애플리케이션용입니다.고객은 현재 사이트를 키오스크 친화적으로 만들 자금이 없습니다.URL 필터링 및 URL 입력 필드 비활성화와 같은 작업은 이미 완료되었습니다.

감사해요.

도움이 되었습니까?

해결책

어떤 목적으로 이것이 필요합니까?백스페이스를 비활성화하면 URL이나 이메일 등을 입력하는 것이 지옥이 되기 때문입니다.

문제를 더 잘 안다면 다른 해결 방법을 권장할 수 있습니다.

편집 1:
이 웹사이트에는 이 작업이 수행된 방법에 대한 정보가 있는 것 같습니다.현재는 확인할 수 없지만 조사해 보겠습니다.http://www.ozzu.com/programming-forum/disable-key-and-back-t44867.html

편집 2:
이 웹사이트에는 몇 가지 키 코드가 있습니다:http://www.advscheduler.com/docs/manual/type_sendkeys.htmlBACKSPACE는 08인 것 같습니다.

편집 3:
차단을 위한 추가 코드를 찾았습니다. 다음을 확인하세요.

<script type="text/javascript">var sType = "keypress";</script> 

<!--[if IE]> 
<script type="text/javascript">sType = "keydown";</script> 
<![endif]--> 

<script type="text/javascript"> 
fIntercept = function(e) { 
   // alert(e.keyCode);
  e = e || event.e; 
  if (e.keyCode == 116) { 
   // When F5 is pressed 
   fCancel(e); 
  } else if (e.ctrlKey && (e.keyCode == 0 || e.keyCode == 82)) { 
   // When ctrl is pressed with R 
   fCancel(e); 
  } 
}; 

fCancel = function(e) { 
  if (e.preventDefault) { 
   e.stopPropagation(); 
   e.preventDefault(); 
  } else { 
   e.keyCode = 0; 
   e.returnValue = false; 
   e.cancelBubble = true; 
  } 
  return false; 
}; 

fAddEvent = function(obj, type, fn) { 
  if (obj.addEventListener) { 
   obj.addEventListener(type, fn, false); 
  } else { 
   obj['e'+type+fn] = fn; 
   obj[type+fn] = function() { 
    obj['e'+type+fn](window.event); 
   } 
   obj.attachEvent('on'+type, obj[type+fn]); 
  } 
}; 


fAddEvent(document, sType, fIntercept); 
</script> 

좋습니다. 이제 필요한 모든 것을 갖추셨을 것입니다.백스페이스를 비활성화하려면 키코드는 08입니다.제가 게시한 코드를 약간만 수정하여 사용해도 될 것입니다...:\

그것을 시험해보고 그것이 당신에게 필요한 것인지 확인하십시오.(Javascript 사용법을 아셨으면 좋겠습니다.)

다른 팁

웹페이지에서는 할 수 없습니다.웹 브라우저의 주요 목적 중 하나는 인터넷으로부터 사용자를 보호하는 것입니다.이는 웹사이트에서 수행할 수 있는 매우 구체적인 작업 집합을 정의하며, 비활성화 버튼은 목록에 없습니다.

반면에, 당신이 네트워크 관리자이고 사용자를 혼란스럽게 만들고 싶다면 일부 데스크톱 소프트웨어를 통해 이를 수행할 수 있습니다.그러나 나는 숨을 참지 않을 것입니다.

저는 이 jQuery 솔루션을 사용하고 있습니다(ie6 및 firefox 3.6에서 테스트됨).

$(document).keydown(function(e) {
    var tag = e.target.tagName;
    var ro = e.target.readOnly;
    var type = e.target.type;
    var tags = {
        INPUT : '',
        TEXTAREA : ''
    };
    if (e.keyCode == 8) {// backspace
        if (!(tag in tags && !ro && /text/.test(type))) {
            e.stopPropagation();
            e.preventDefault();
        }
    }
});    

누군가에게 도움이 되길 바랍니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top