2012-11-28 2 views
0

나는 이것과 관련하여 수많은 게시물을 보았습니다 만, 나는 그 밑으로 갈 수 없습니다. 내 웹 사이트 홈 페이지에 비디오가 있습니다. 방문자가 동영상 재생 그래픽을 클릭하면 Fancybox 모달 내에서 YouTube 동영상이 재생됩니다. 뉴스 레터에서 구독자가 내 사이트로 연결되는 링크를 클릭하여 비디오를 보도록 유도하는 전자 메일 뉴스 레터를 보내고 비디오를 재생하는 Fancybox 모달을 자동으로 시작합니다. 그러나 나는 이것을 작동시킬 수 없다. 내 머리 태그에서 내가 가진 :Fancybox 모달 창이 페이지에서 자동으로 열리지 않습니다.

<!-- Add fancyBox main JS and CSS files --> 
<script type="text/javascript" src="{$base_url}/assets/js/fancybox/source/jquery.fancybox.js?v=2.1.3"></script> 
<link rel="stylesheet" type="text/css" href="{$base_url}/assets/js/fancybox/source/jquery.fancybox.css?v=2.1.2" media="screen" /> 

<!-- Add Media helper (this is optional) --> 
<script type="text/javascript" src="{$base_url}/assets/js/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.5"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#video-intro').fancybox({ 
     openEffect : 'none', 
     closeEffect : 'none', 
     prevEffect : 'none', 
     nextEffect : 'none', 
     arrows : false, 
     width : '640', 
     height : '360', 
     helpers : { 
     media : {} 
     buttons : {} 
     } 
    }); 
    }); 
</script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#video-intro").trigger('click');​ 
    }); 
</script> 

내 몸에서 나는 다음과 같은 링크가 있습니다

<a id="video-intro" href="http://www.youtube.com/embed/Scd0dmAod-k?rel=0" onClick=”_gaq.push(['_trackEvent', 'Video', 'Play', 'RentPro Overview Video']);”><img src="{$base_url}assets/img/play-video.png" width="425" height="239" alt="Click to play RentPro overview video" style="border:1px solid #fff;" /></a> 

그러나 나는 자동으로 모달를 표시하고 페이지로드 비디오를 재생하려면이 옵션을 얻을 수 있습니다. 실제 href에는 Google 애널리틱스에 이벤트를 등록하는 onClick 이벤트가 있습니다.

답변

2

하나의 스크립트는 충분하다 : 나는 당신의 스크립트에서 수정

$(document).ready(function() { 
    $('#video-intro').fancybox({ 
     openEffect: 'none', 
     closeEffect: 'none', 
     prevEffect: 'none', 
     nextEffect: 'none', 
     arrows: false, 
     width: 640, 
     height: 360, 
     helpers: { 
      media: {}, 
      buttons: {} 
     }, 
     type: "iframe" 
    }).trigger("click"); 
}); // ready 

주의 사항는 다음

  • 정수 값이 있었다
  • 없이 따옴표를 이동 ~에서 분리 할 media : {}, //<-- comma here 뒤에 누락 된 쉼표 옵션 buttons: {}
  • 을 lowing 나는 같은 선택에 .trigger("click")을 설정 그래서 당신은 유튜브의 embed 양식을 사용하고 있기 때문에 두 개의 서로 다른 스크립트
  • 의 필요, 나는

가이에서 작업을 참조하십시오 API 옵션에 type: "iframe"를 추가하지 jsfiddle

웹 로그 분석 결과 onclick 당신이 console.log

에서 볼 수 있듯이 문제가되지 않을한다
+0

감사합니다. @JFK. 이 방법이 효과적 이었지만 크롬에서 실행되는 문제로 인해 Google 애널리틱스 추적 코드에 문제가있는 것으로 나타났습니다. 최신 버전으로 업데이트해야합니다. 두 세트의 스크립트에서이 작업을 수행 한 이유는 자동 열기를 항상 원하지만 예를 들어 www.example.com ?autoplay=true에서만 사용하기를 원했기 때문입니다. 한 번의 호출로 모든 버전의 스크립트를 사용했고 쿼리 문자열 매개 변수 autoplay가 true이면 그렇지 않은 경우 원래 코드가 사용되었습니다. 이 스크립트가 두 개의 스크립트로로드되었을 때 왜이 스크립트가 작동하지 않는지에 대한 관심이 있습니까? –

+0

@AdrianWalls : 두 스크립트에서 작동하지 않는 이유는 스크립트에서 수정 한 첫 번째 구문 오류가 있었기 때문입니다. 내 대답에있는 목록을 참조하십시오. 이 사항이 적용되는 경우 http://meta.stackexchange.com/a/5235를 알려주십시오. – JFK