2012-02-29 4 views
1

플래시 포함에 대한 기본 마우스 오른쪽 버튼 클릭 메뉴를 억제해야합니다.플래시 임베드를 마우스 오른쪽 버튼으로 클릭하는 것을 방지하려면 어떻게해야합니까?

메뉴를 false로 설정하고 오른쪽 클릭 이벤트에서 기본 중지 기능을 사용했지만 여전히 메뉴를 표시합니다.

또한 플래시 객체가 나를 만들지 않았기 때문에 .fla에 액세스 할 수 없습니다.

미리 감사드립니다.

+0

현재 릴리스 후보 상태 인 Flash Player 11.2의 다음 버전에서는 마우스 오른쪽 버튼 메뉴를 숨길 수 있지만 이전 버전에서는 불가능합니다. –

+0

왜[email protected] The Kaneda의 대답이 당신에게 좋지 않다면 더 많은 제안을 할 수 있습니다. – nycynik

답변

0
플래시 빌더에서

다음 FLA의없이

var myContextMenu:ContextMenu = new ContextMenu(); 
myContextMenu.hideBuiltInItems(); 
+0

그는 .fla에 접속할 수 없다고 말했다. youtube 비디오 등을 삽입하려고합니까? 자세한 내용은 훌륭합니다. –

+1

안녕하세요, 저는 유튜브 비디오를 사용하고 있습니다 .. – jpecht

+0

@ 타일러 : 네가 내 대답을 타이핑하는 동안 OP가 질문을 편집했다고 생각해. 아니면 그 부분을 놓친 것일 수도 있습니다. – Travesty3

1

(그 심지어 당신이 어쨌든 원하는 걸주지 못할 것이다 변경), 당신은 HTML에서 SWF 파일을 충당하기 위해 뭔가를해야 할 것 - 예 : <div>.

이것은 왼쪽 클릭을 차단합니다. 원하지 않으면 내가 알고있는 유일한 방법입니다. 유일한 대안이며 안전한 변형입니다. 왼쪽 클릭을 얻으려면 코드 추가를하십시오. 어쨌든 해킹입니다. swf-covering보다 더 많은 것은 <div>입니다.

swf를 덮으려면 창 모드 (wmode param)를 "불투명"(또는 swf 내부 영역이 투명해야 할 경우 "투명")으로 설정해야합니다. 둘 다 FlashPlayer의 렌더링 모드를 변경하여 HTML이 위에 표시 될 수 있도록합니다 (기본값은 wmode="window"이므로 다른 것 위에 렌더링됩니다). 두 대안 모두 wmode params는 성능을 다소 떨어 뜨립니다 ("투명"보다 "불투명"). 둘 다 FlashPlayer의 예측할 수없는 겉보기에는 관련없는 버그를 다시 소개합니다 (다시 "투명", "불투명"보다). 예 : YouTube는 wmode 매개 변수를 변경하는 것을 지원하므로, 버그가 없어야합니다. 그러나 다른 것들은 작동에 문제가 있습니다. 예 : How to make videos on Youtube not cover a lightbox?

"투명", 당신이 <div> 절대적으로 그들이 SWF에 도달하기 전에 왼쪽 클릭을 캡처 할 수 있습니다 의미 SWF를 충당하기 위해 배치 할 수 있습니다 위해 wmode을 설정 한 후. IE6-8은 투명한 요소에 대한 클릭을 캡처하지 않는다는 것을 기억하십시오. 따라서 요소의 배경색에 대해 + 알파 = 0 또는 투명한 png/gif가 필요합니다.

왼쪽 버튼을 swf (소스 코드/fla에 추가해야 함)로 전달하는 개념을 설명하기 만하면됩니다. 기본적으로 <div>은 mousedown 이벤트를 캡처하고 좌표는 ExternalInterface을 통해 플래시로 전송됩니다. 올바른 클릭에 대해 동일한 작업을 수행 할 수 있습니다. 이렇게하면 - 매우 해킹 된 경우에도 - 유일한 방법입니다. Flash의 상황에 맞는 메뉴를 표시하는 대신 오른쪽 클릭 기능을 사용합니다.

FlashPlayer 11.2까지입니다. 오른쪽/중간 클릭에 대한 지원을 추가 할뿐만 아니라 마우스 잠금 등을 추가합니다 (하지만 소스에 액세스하지 않고도 그렇게 할 수는 없습니다). 어떤 경우

, 당신이 정말이 필요합니다 (그리고 이 경우가있다)하지 않는 한, 그것은 대안을 찾을 수있는 좋은 아이디어이다 -의 오른쪽 클릭 메뉴를 사용하지 심지어없는 경우 아주 나쁜 아이디어 일반적으로 웹 페이지.

관련 문제