브라우저 스크립트에 키보드 명령이 갇히지 않도록 할 수 있습니까?


14

Safari의 창 내용이 아닌 Safari 와 같은 명령 키 조합을 사용 H하거나 LSafari로 이동하도록 Safari 를 조정할 수 있습니까?

편집기 창 (지금 입력하는 위치와 같은)이이 키 스트로크를 캡처하여 제목과 링크를 만들기 때문에 일반적 으로이 사이트 에서 가장 자주 나타납니다. .

JavaScript를 완전히 비활성화 하지 않고이 작업을 수행 할 수있는 방법을 찾고 있습니다.

가치가있는 무엇이든, 나는 Mountain Lion을 운영하고 있습니다.


4
NinjaKit을 사용하여 Stack Exchange 사이트에서 사용되는 바로 가기를 비활성화 할 수 있습니다. 참조 apple.stackexchange.com/questions/60587meta.stackexchange.com/questions/2980을 .
Lri

1
@LauriRanta는 훌륭하지만이 특정 문제를 해결하는 데 도움이되지만 일반적인 보안 허점으로 악의적 인 웹 사이트가 JavaScript를 비활성화하지 않고 ⌘W 또는 ⌘Q를 포착하지 못하게하는 방법을 원합니다.
다니엘

보안 태그를 추가했습니다. 응용 프로그램의 어느 부분을 읽고 있는지 ( 듣기 ) 알기 때문에 키보드는 기본 보안 기능입니다. 메뉴 표시 줄에 키보드 리스너 변경 사항이 표시되면 스니퍼를 기반으로하는 많은 공격이 라이트를 켤 때 코 로크로 수행됩니다.
dan

@DanielLawson이 오픈 소스 Safari 확장 프로그램이 javascript-blocker.toggleable.com에
Simon

답변:


2

JavaScript 트랩 키보드 입력을 피하는 유일한 확실한 방법은 브라우저에서 JavaScript를 비활성화하는 것입니다.

JavaScript를 켜고 싶지만 OS가 데이터를 입력하면 응용 프로그램이 아닌 원시 키 누름에 대한 거의 모든 제어 권한을 브라우저로 전달하도록 설계되었습니다. 즉, 잠재적으로 각 개별 페이지 / 사이트에서 키보드 필터링을 구현할 때마다 명령 H와 같은 임의의 키 코드가 JavaScript 대신 Safari로 전송되도록 특정 코드 솔루션이 필요합니다.

키 누름 처리 방법에 대한 개요는 다음 링크를 참조하십시오.

마지막 링크는 원시 이벤트를 보여주는 테스터이며 웹 사이트 개발자가 원한다면 간단한 ⌘Q조차도 JavaScript에 의해 갇힐 수 있음을 알 수 있습니다.


키보드 드라이버는 OS의 일부이므로, OS는 키 입력을 브라우저로 전달하여 키 입력을 웹 컨텐츠로 전달 합니다. 그러면 브라우저 및 / 또는 OS로 다시 전달할 키 입력을 결정할 수 있습니다 .
Daniel

커널 공간 / 사용자 공간 / API 및 프레임 워크 복잡성보다 훨씬 복잡 할 수 있습니다.
bmike
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.