2012-04-02 3 views
0

뒤에 간단한 플래시 애니메이션 이있는 웹 사이트에서 일부 텍스트 및 반투명 이미지를 배경으로 사용하고 있습니다. swfobject를 사용하여 wmode 불투명도를 설정하여 대부분의 브라우저에서 올바르게 표시되도록했습니다.Android 브라우저에서 항상 플래시가 작동합니까?

플래시가없는 브라우저의 경우 사용자는 대신 정적 배경 이미지를 가져 와서 누락 된 것을 알 수 없습니다. 그러나 Android 사용자는 플래시 콘텐츠가 Android 브라우저에서 렌더링되어 사이트를 사용할 수 없도록 만드는 방식과 관련하여 알려진 문제에 따라 모든 배경 위에 플래시 배경을 위에 올려 놓습니다.

나는 거기에 '모바일'아 파크 - 사용자 에이전트가로드를 방지하기 위해 swfobject 코드에 자바 스크립트 함수 원유 브라우저 냄새를 추가했습니다 :

내가 남아있는 유일한 문제는 안드로이드 사용자를위한 것입니다
<script type="text/javascript"> 
if (navigator.userAgent.indexOf('Mobile') == -1) 
    { 
     var flashvars = {}; 
     var params = { wmode: "opaque" }; 
     var attributes = {}; 
     swfobject.embedSWF("Images/Layout/center_flash.swf", "flashBg", 
     "1004", "502", "9", "false", flashvars, params, attributes); 
    } 
</script> 

사용자 에이전트가 사파리 (Safari)의 데스크톱 버전 인 것처럼 가장하여 '모바일보기'가 해제되어 브라우징이 가능합니다. 모든 사파리 사용자가 플래시 애니메이션을 사용 중지하지 않기를 바랍니다. Andriod 사용자 만 '모바일보기'를 사용 중지 한 경우에도 차단할 수 있나요?

가능한 아이디어는 다음과 같습니다

  • 자바 스크립트 나 플래시와 플래시 버전을 감지. Android는 데스크톱의 버전과 다른 플래시의 특정 버전 (버전 번호)을 사용합니까?
  • '모바일보기'가 비활성화 된 Android 기기에서 사용되는 특정 사용자 에이전트를 차단합니다.

누구든지이 문제에 대한 효과적인 해결 방법을 생각해 냈습니까?

귀하의 도움/의견을 보내 주시면 감사하겠습니다.

+0

더 고려해야 할 길이다 내 [블로그] (http://peterchinkin.tumblr.com/post/21268904763/flash-on-android-on-top-bug). –

답변

0

당신은 자바 스크립트에서이 같은

뭔가 브라우저의 사용자 에이전트를 확인하여 안드로이드를 감지 할 수 있습니다 :

if (navigator.userAgent.toLowerCase().indexOf("android") != -1) 
{ 
    // It's android 
} 

은 지금까지 플래시 문제 자체, 나는 결코 I로 알고하지 않습니다 사용 플래시 : P

편집

또한 (다른 useragents에 그 기술을 사용할 수 있습니다 I.E.

EDIT2

죄송합니다 아이폰, 아이 패드, 사파리), 난 그냥 내 안드로이드 전화에 가서 실제 설정은 어떤 사용자 추천 (데스크탑/아이 패드/아이폰/사파리)에 사용자 에이전트를 변경 깨달았다. 그때는 좋지 않습니다. 사과드립니다.

불행히도, 당신이 묻는 것은 매우 어렵습니다. 어떤 도움을주기 위해 안드로이드 플래시 버전에는 고유 한 식별자가 없습니다. android가 userAgent를 스푸핑한다는 사실은 휴대 전화에 있는지 여부를 감지하는 것을 불가능하게 만듭니다.

+0

이 제안에 감사하지만 AppleWebKit/533.16 (Gecko와 같은) Mozilla/5.0 (Mac OS X 10_6_3; ko-ko) 버전/5.0 Safari/533.16 "일 때 내 전화의 Android 사용자 에이전트는" '모바일보기'가 사용 중지되었습니다. 나는 그것이 당신이 가지고있는 전화와 OS 버전에 따라 다양하다고 생각한다. 이러한 사용자를 격리시킬 수있는 무언가가 있습니까? –

+0

@PeterChinkin 플래시가 모바일 버전인지 아닌지를 식별 할 수있는 방법이 없다는 점을 사과드립니다. (유일한 방법은 데스크톱 모드에서 안드로이드의 브라우저 스푸핑 인 userAgent 감지입니다.) userAgent 플러그인에는 플래시를 모바일 버전 (AFAIK)으로 식별하는 고유 한 식별자가 없습니다. 나는 어도비가 플래시를 자주 사용하지 않아서 내가 틀렸다는 것을 알 수있는 이메일을 전달하는 것을 제안한다. – bbedward

+0

@PeterChinkin 그리고 자바 스크립트를 통해 안드로이드인지 아닌지를 결정하기 위해 안드로이드 OS 호출을 할 수있는 권한이 없습니다. 따라서 사용자 에이전트 정보는 엄격하게 제한됩니다. – bbedward

0

사용자가 자신의 IP를 기반으로 모바일에 있는지 여부를 알 수있는 서비스가 있습니다.내가 말할 죄송

나는 얼마나 빨리 믿을 모르거나 그들은 고가의,하지만 당신은 사용자가 안드로이드에 있는지 여부를 확인해야하는 경우, 그에이 문제에 대한

+0

미안하지만,이 질문이 얼마나 오래되었는지 보았습니다.하지만 누군가가 그것을 찾고있을 때를 대비하여 대답을 남겨 둘 것 같습니다. –

관련 문제