0

내 지식을 당로서 우리는 다음과 같은 자바 스크립트 코드를 새 창 Ctrl + N 키를 비활성화 할 수 있습니다 : 내 경우브라우저 창에서 Ctrl N 조합을 제한하는 방법은 무엇입니까?

document.onkeydown = function() { 
    alert(event.keyCode) 
    if ((event.keyCode == 78) && (event.ctrlKey)) { 
     alert ("No new window") 
     event.cancelBubble = true; 
     event.returnValue = false; 
     event.keyCode = false; return false; 
    } 
} 

를이 코드를 넣을 수 있습니다 고정 그들 중 하나 (메뉴 바가 3 개 프레임이 있습니다). 그러나이 이벤트는 포커스가 다른 프레임에 있으면 잡히지 않습니다. 브라우저 창에서이 제한을 어떻게 전역 적으로 구현할 수 있습니까?

답변

1

은 당신이 웹 페이지에서이 방법으로 브라우저를 제어 할 수 있습니다 생각하지 않는다 (없으며이어야 함). 모든 프레임이 동일한 도메인에서 가져 오는 경우 window.frames 컬렉션을 사용하고 각 프레임에 대해 문서 객체까지 작업하는 단일 입력 지점에서이 작업을 수행 할 수 있어야합니다.

또한 스크립트는 IE에서만 작동합니다.

이것은 또한 끔찍한 생각입니다. 사람들의 브라우저 기능을 대신해서는 안됩니다.

2

당신이 각 문서 (프레임)에 대한 스크립트를 포함해야합니다

+0

주셔서 감사합니다. 서버 측 코드 (수정 및 릴리스 예정)가 동일한 세션으로 두 브라우저 창에서 공유되는 세션 변수를 사용하기 때문에이 것을 요구합니다. 모든 프레임에 대해 일반적으로이를 처리하기 위해 작은 코드를 공유 할 수 있습니까? – Tushu

0

이와 같은 우려는 종종 합법적 인 반면 키 조합 방지와 같은 시도 또는 right-click은 실제로 사이트에 좋지 않습니다. 이것을 고려하십시오 :

사용자는 브라우저가 특정 방식으로 작동하기를 기대합니다. 이 기능을 조작하면 사용자가 좌절 할 수 있습니다. 그들은 귀하의 사이트가 고장 났다고 생각할 수도 있습니다.

사용자가 기본 제공 작업을 수행하지 못하게하려고하면 본질적으로 동작을 정책화합니다. 이것은 귀하의 감독하에 있지 않은 한 사용자가 귀하의 사이트를 사용할 것이라고 신뢰하지 않는다는 것을 사용자에게 알려줍니다. 사용자는 모욕감을 느끼고 떠날 것입니다.

사용자가 JavaScript를 사용 중지하면 어떻게됩니까? 또는 웹 사이트가 브라우저의 동작을 변경하지 못하도록하는 사용자 정의 규칙 세트가있는 경우

새로운 창을 여는 것이 그리 힘든 이유는 무엇입니까? 보안 문제라면 제대로 수정해야합니다. 사용자가 이러한 생각을 가지고 있으면 불안감을 느끼고 떠날 수 있습니다.

사이트를 시작하기 전에 (여러 가지 중에서) 이러한 사항을 모두 고려해야합니다. 바라기를이 프로젝트를하는 동안 도움이됩니다.

+0

댓글을 주셔서 감사합니다.하지만 서버 측 코드 (수정 및 릴리스 예정)가 동일한 세션으로 두 개의 브라우저 창에서 공유되는 세션 변수를 사용하기 때문에 필요합니다. 모든 프레임에 대해 일반적으로이를 처리하기 위해 작은 코드를 공유 할 수 있습니까? – Tushu

2

코드를 공통 .js (자바 스크립트) 파일에 넣고 .js를 모든 페이지에 연결하십시오. 기능을 제거하거나 중앙 집중화 기능을 추가하려는 경우 도움이됩니다.

관련 문제