2014-10-11 4 views
0

내 드루팔 (Drupal) 7 사이트에서 두 개의 블럭 디스플레이가있는보기가 있습니다. 두 필터의 유일한 차이는 하나의 필터 기준입니다. - URL Aias- : 한 블록은 별칭에 "/ html5"가 포함 된 콘텐츠를 표시하고 다른 블록은 별칭이 지정된 콘텐츠를 URL로 표시합니다.플래시가 활성화 된 경우 하나의 드루팔 블럭 또는 다른 블럭을 표시하십시오.

해당 블록은 특정 페이지에만 표시되어야합니다 . 이 논리는 URL을 기반으로 컨텍스트 모듈에 의해 제어됩니다. 이 방법으로 URL이 "perm/type/man/*"과 같은 경우 블록이 표시됩니다.

이 URL에서 플래시 수준에 따라 하나 이상의 블록을 표시해야합니다. 장치 지원이 플래시 (PC와 유사)이면 플래시 컨텐츠를 표시해야합니다. 기기가 플래시 (모바일)를 지원하지 않으면 html5 콘텐츠가 표시됩니다.

나는 플래시 장치

var hasFlash = false; 
try { 
    var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
    if (fo) { 
    hasFlash = true; 
    } 
} catch (e) { 
    if (navigator.mimeTypes 
     && navigator.mimeTypes['application/x-shockwave-flash'] != undefined 
     && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) { 
    hasFlash = true; 
    } 
} 

활성화되어 있지만 내가 함께 할 수없고 어디 코드를 포함해야하는지 모르는 경우이 감지하는 코드를 JS 발견했다.

도와 주시겠습니까?

답변

0

당신은 다음과 같이 drupal_add_js와 인라인 스크립트 파일로 또는 위의 코드를 추가하고 계속 시도 할 수 있습니다 :

  • 로드 같은 페이지에서 두 블록 initialy 숨겨진하고 조건을 충족 하나를 보여 js에서.
  • 또는 올바른 블록의 내용을 ajax로로드하고 원하는 기준에 따라 DOM에 덤프하십시오.