2009-05-24 6 views
2

비 플래시 사용자를 지원해야하는 ASP.NET 웹 사이트를 개발 중입니다.서버 측에서 플래시 기능 테스트

사용자의 브라우저가 플래시를 지원하지 않거나 플래시를 사용할 수없는 경우 브라우저에 큰 스플래시 이미지를 다운로드하고 싶습니다.

그러나 플래시 을 올바르게 렌더링하면 대역폭을 낭비하고 싶지 않습니다.

.NET 코드를 사용하여 서버 측에서 브라우저가 플래시를 지원하는지 테스트 할 수 있습니까? 나는 'Request.Browser'객체를 살펴 봤지만 플래시와 관련된 것은 찾지 못했습니다. 'application/x-shockwave-flash의'.NET 확실하지

에 대해

'HTTP_ACCEPT' 을하지만 PHP는 대부분의 시간을 작동합니다

답변

1

당신은 일부 서버 VAR를 사용하여 시도 할 수 있습니다. 이것은 사파리에서는 작동하지 않지만 당신이하고있는 것에 대해서는 괜찮을 것입니다. 자신의 대역폭을 95 %까지 절약 할 수 있습니다. PHP의 예 (.NET되지하지만 당신은 아이디어를 얻을) :

if (strstr($_SERVER['HTTP_ACCEPT'], 'application/x-shockwave-flash')){ 
    $hasFlash = true; 
} 
1

을 감안할 때 귀하의 요구 사항은 내가 클라이언트에서 플래시 기능을 감지하고 대신 다른 페이지로 사용자를 리디렉션하는 플래시 감지 스크립트를 사용하여 더 나은 거라고 SWF 파일을 다운로드합니다. Kirupa에서 많은 스크립트를 찾을 수 있습니다. 또는 플래시 게시 옵션 대화 상자에서 생성 된 스크립트를 사용할 수 있습니다.

1

아마도 클라이언트 측 플래시 감지가 더 좋은 방법 일 것입니다. 그러나 NoScript 플러그인을 사용하는 사용자와 같이 자바 스크립트가 사용 중지 된 사용자가있을 수 있습니다. 내가 볼 수있는 세 가지 기본 선택 사항이 있습니다.

  1. 무시하십시오. 아마도 걱정할 가치가있는 사람들이이 상황에 처할만큼 충분하지 않을 수도 있습니다.

  2. 확인하고이 사이트에서 더 나은 환경을 위해 JS를 사용하도록 설정하라는 표시가 나타납니다. 이것은 일반적으로 페이지에서 알림을 렌더링하고 JS 코드를 사용하여 해당 요소의 렌더링을 비활성화하거나 숨김으로써 수행됩니다.

  3. JavaScript 없이도 사이트 운영을 지원하려고합니다. 이것은 아마도 기본적으로 큰 이미지로드가 있고 시작하기 전에로드가 중지되는 것을 포함합니다. 그것은 까다로울 수 있습니다.

3

서버 측에서 처리하면 안됩니다. 대부분의 Flash 감지/포함 스크립트는 기본적으로 이러한 종류의 동작을 수행합니다. 나는 SWFObject을 강력히 추천한다.

  • 이에게 ID의 예를 들어주세요 이미지와 <div> (또는 HTML 당신이 정말로 원하는) 그 안에 만들기 : <div id="flash">
  • 플래시 플레이어
와 그 DIV 블록을 재정의하는 데 SWFObject를 알려

사용하지 않으면 변경되지 않은 html이 표시됩니다.그들이 자바 스크립트를 사용할 수 있지만 플래시 플러그인이 없다면 HTML도 볼 수 있습니다. 기본적으로 자바 스크립트와 플래시 플러그인이있는 경우에만 플래시가 표시됩니다.

그 정도면 충분합니다.

1

확실히 서버 측에서 플래시를 감지 할 몇 가지 이유가 있습니다. 플래시를 사용할 수없는 경우 특정 부품을 완전히 교체하거나 페이지에 두지 않아도됩니다. 플래시가있는 정확한 장소에 대체 컨텐츠를 표시하는 것만 큼 간단하지 않습니다. 우리는 html 구조를 더 이상 대체해야합니다. Javascript를 사용할 수없는 경우에도이 작업을 수행해야합니다. Flash가 사용 가능하고 다른 페이지로 리디렉션 할 수없는 경우 JavaScript를 페이지에 다시 쓸 수있는 옵션이 아닙니다.

+0

이 질문에 대답하지 않습니다를 보낼 것으로 보인다 보냅니다. 이것은 질문의 재 작성을 줄입니다. –

0

브라우저는 수락 헤더에

application/x-shockwave-flash 

를 전송하지 않는 것. 그들은 단지 */*

IE는 바보 같은 이유로 플래시 요청과

x-flash-version 

...