2011-11-21 5 views
1

큰 포털 내부의 iframe에 표시되는 java webapp에서 작업 중입니다.어떻게하면 사용자가 iframe 외부에서 webapp을 열지 못하게 할 수 있습니까?

내 webapp는 항상 외부 포털의 iframe 안에 있어야하지만 사용자가 내 웹 응용 프로그램 링크 중 하나를 마우스 오른쪽 버튼으로 클릭하고 "새 창/탭에서 열"을하면 내 웹 응용 프로그램이 웹 사이트의 독립 실행 형 웹 사이트로 표시됩니다. 새창.

포털의 iframe 외부에서 내 앱이 보이지 않게하려면 어떻게해야하나요?

+2

자바는 _not_ 자바 스크립트입니다. 몇 번이나 ... – Bojangles

+1

@JamWaffles 그가 두 사람을 혼란스럽게 만드는 이유는 무엇입니까? – jaybee

+0

그의 질문은 어떤 식 으로든 JavaScript를 참조하지 않기 때문에. 그것이 JS를 어딘가에 가지고있을 가능성이있는 웹 사이트의 일부이지만, OP는 새로운 창에서 _java_ 앱이 열리는 것에 대해 이야기하고 있습니다. – Bojangles

답변

3

당신이 말하는 기능은 브라우저 수준이므로 제거가 불가능합니다 (즉, 링크 옵션이 항상있을 것입니다). 프레임의 존재

  1. 확인 :

    if (top === self) { not in a frame } else { in a frame }

  2. 오른쪽 클릭 메뉴를 사용하지 않도록 설정 (Ctrl 키를 앱이 프레임 내에서 실행되고 있는지 확인하기 위해 할 수있는 몇 가지가 있습니다 + 클릭은 계속 작동합니다.) 예가 아래에 있습니다.

    <body oncontextmenu="return false;">

참고 : 사용자가 자바 스크립트를 사용하지 않는 경우에 나는 그것을 말할 것도 확신 있지만,이 방법은 작동하지 않습니다.

+0

자바 스크립트는 항상 사용자가 끌 수 있기 때문에 앱이 실행되고있는 것을 '보장'하지 못한다. iframe에서 할 것인가? 또는 나는 무엇인가 놓치고 있냐? – vascowhite

+0

@vascowhite, 맞습니다 - ** 보장 **은 적절한 단어가 아닙니다. –

관련 문제