2009-10-23 6 views
1

나는 뭔가 이상한 일을하려하고있다. 나는 그것이 목적이 있다고 약속한다. 저는 90 % 확신 할 수 없지만 천재들과 다시 확인하고 싶었습니다.플래시 요소를 비활성화 할 수 있습니까?

페이지에 object/embeded .swf를 포함 할 수는 있지만 표시 할 수는 있지만 상호 작용을 허용하지 마십시오. 예를 들어, youtube embed 코드를 변경하여 플레이어를 표시 할 수는 있지만 플레이어와 상호 작용할 수는 없습니까?

플래시의 변수 목록을 검색했지만이를 수행 할 내용이 없습니다.

감사

+0

난 그냥 HTML을 변경하여 코드를 embeding 그렇게 할 수 있다고 생각하지 않습니다. 어쩌면 다른 SWF 상단에 투명한 swf를 삽입하는 것처럼 해킹 할 수있는 해킹 방법이있을 수 있지만, HTML로 많은 투자를하지 않기 때문에 그렇게 할 수 있는지 확신 할 수 없습니다. – Allan

+0

감사합니다. 나는 그 라인을 따라 생각하고 있었지만 투명 gif를 사용했습니다. 나는 그것을 시도 할 것이다. –

답변

3

는 계층화 된 접근 방식을 사용 장소 플래시 객체의 상단에 div 요소, 그것은 동일한 크기와 투명하게. 그게 다야. 자바 스크립트가 필요하지 않습니다. 그리고 IE6/7/8을 행복하게 만들려면 당연히 작동하지 않습니다. 그래서 우리는 트릭을 추가합니다 : 배경과 불투명도. CSS 무효화를 방지하기 위해 별도의 파일에 IE 전용 CSS를 추가 할 수 있습니다. 중요

:이 작업을 할, wmode이 (TheBrain 이전에서 언급 한 바와 같이) opaque로 설정해야합니다, 부모 div가 위치 설정되어 있어야, 아이 divposition:absolute 플래시의 width/height이 있어야합니다 생기. opacity, filterbackground-color은 IE6/7/8 호환성을위한 것입니다. 있는 그대로 코드는 크로스 브라우저 (명확성을 위해 일부 세부 사항 제외)로 작동하며 전체적으로 demonstrated on this page입니다.

** 업데이트 : ** 덮어 씌운 테두리가 들어 가지 않도록 부모 div 요소의 너비와 높이를 설정해야합니다. 기본적으로 div는 100 % 너비입니다. IE는 왼쪽 여백을 추가하고 FF는 플래시 애니메이션의 아래쪽 여백을 추가합니다. 치수를 명시 적으로 설정하면 예상대로 작동합니다. 표지가 올바르게 놓여 있는지 확인하려면 표지와 div의 색상과 불투명도를 변경하십시오. 이 변경 사항은 demo page에서도 업데이트됩니다.

<div style="position:relative;width:728px;height:90px;"> 
    <div style="position:absolute; 
      width:728px;height:90px; 
      background-color:white; 
      opacity:0;filter: alpha(opacity=0);"> 
     &nbsp; 
    </div> 
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
     width="728" height="90"> 
     <... params etc ...> 
     <param name="wmode" value="opaque" /> 

     <embed width="728" height="90" 
      type="application/x-shockwave-flash" 
      wmode="opaque" 
      etc-params=xyz> 
     </embed> 
    </object> 
</div> 
+0

나는 .swf 파일에 대해 이야기하는 것이 아닙니다.나는 사전 제작 된 플래시 컨텐츠를 가져 와서 객체 또는 퍼가기 태그를 사용하여 퍼가는 것이지만 아무 것도 클릭하지 못하게하는 것을 의미합니다. YouTube 동영상의 예를 사용했습니다. 나는 그것이 무의미한 것으로 알고있다. –

+0

나는 나의 대답을 다시 썼다. 추가 정보 덕택에 그 원리를 보여주는 페이지를 추가했다. wmode 팁은 theBrain의 호의이며 나머지는 크로스 브라우저에서 작동하도록 실험을 통해 발견되었습니다. 재미있는 비트 : Div 절반 크기를 만들고 애니메이션은 반 활성화 됨 :) – Abel

+0

좋습니다. 감사! –

0

예. div 내에서 SWF를 임베드하고 해당 div 태그를 사용하여 모든 클릭/키보드 이벤트를 캡처하고 플래시로 전파되지 않도록 할 수 있습니다. 지금은 실제 코드가 없지만 "페이지에서 오른쪽 클릭을 비활성화"모델을 사용하고 모든 이벤트를 처리하기 위해 몇 가지 변경을하고 전체 페이지가 아닌 div.id에서만 작동하도록 할 수 있습니다.

이 유튜브 자체가 컨트롤없이 비디오를 포함하는 옵션이 있습니다

0

을 작동하려면 당신은 W 모드 = 불투명을 가지고 플래시를 필요 잊지 마세요. Chromeless player

Iirc youtube url의 매개 변수로 version = 3을 전달해야합니다.

0

유튜브와 어도비는 YouTube 동영상을 플래시에 삽입하기위한 새로운 AS3 API를 발표했습니다.

당신은 정말 다음 링크를 체크 아웃해야 다음 AS3을 설정하는 방법을 안내합니다이 하나를 : RIA CODES: YouTube Chromeless Player AS3 API

관련 문제