우리는 박물관 용 소프트웨어를 개발 중입니다. 로컬 네트워크에 연결된 Windows 8.1에서 실행되는 터치 스크린이있는 대화 형 키오스크가 여러 개 있습니다. 키보드도없고 마우스도 없습니다. Apache가 설치된 서버에는 여러 개의 로컬 웹 사이트가 있습니다. 각 키오스크는 키오스크 모드로 Google 크롬 복사본을 실행합니다. 그래서 우리는 박물관 방문객에게 정보를 제공하는 지역 웹 어플리케이션을 가지고 있습니다.Chrome의 키오스크 모드에서 마우스 오른쪽 버튼을 클릭하거나 긴 터치에서 상황에 맞는 메뉴를 사용 중지하는 방법은 무엇인가요?
이제 문제가 발생했습니다. 방문자가 화면에서 길게 터치하면 마우스 오른쪽 버튼 클릭처럼 작동합니다. 컨텍스트 메뉴가 나타납니다. 우리는 전혀 원하지 않습니다. body 태그에 "oncontextmenu = return false"를 추가했는데 도움이되었습니다. 그러나. 우리는 iframe에서 실행되는 두 개의 외부 웹 사이트를 가지고 있습니다 (박물관은 인터넷에 연결되어 있습니다). 그리고 상황에 맞는 메뉴 은으로 iframe에 표시됩니다. AFAIK, 자바 스크립트를 사용하여 비활성화하는 방법은 없습니다.
Google 시스템 엔지니어는 Windows에서 마우스 오른쪽 버튼을 완전히 사용할 수 없게하는 소프트웨어를 가지고 있습니다. Chrome을 포함한 어디에서나 사용할 수 있습니다. 그러나. 그것은 마우스에서 작동합니다. 그리고 접촉에 관해서는 ... 잘, 크롬 이외에 어디에서든지 접촉 사건을 무능하게한다. 어쩌면 크롬 자체 터치 이벤트 처리기를 가지고, 나도 몰라.
결국, 결국. Chrome의 키오스크 모드에서 마우스 오른쪽 버튼을 클릭하거나 긴 터치로 iframe의 상황에 맞는 메뉴를 제거해야합니다. 제게 조언 해주세요.
* 잠재적으로 * 보안상의 허점이 될 수 있지만 Chrome의 교차 도메인 원점 정책을 시도하고 비활성화 할 수 있습니다. @DOCABLE-web-security 스위치를 사용하여 시작하는 Chrome의 교차 도메인 생성 정책을 사용 중지하면 @ – JCOC611
@ JCOC611이 표시됩니다. 만약 그렇다면, 불행히도 작동하지 않습니다 ... – korsun
당신의 kisok보기가 크롬 애플 리케이션 내부에 있다면 내 대답은 작동하지 않을 것 같아요 - iframe에 콘텐츠 스크립트를 삽입 할 수 없습니다. 다른 확장 프로그램의 내부에로드되었습니다. 또는 앱의 페이지 (확장 프로그램이 일반적으로 액세스해야하는 페이지의 iframe 인 경우에도 마찬가지입니다). ** 그러나 ** 나는 iframe 대신 [''] (https://developer.chrome.com/apps/tags/webview) 요소를 사용하여 문제를 해결할 수 있다고 생각합니다 :'executeScript' 메서드는 webview가'contentload' 이벤트를 발생시킬 때 호출됩니다. –
apsillers