2012-11-28 71 views
0

我已經經歷了許多與此有關的帖子,但我無法深入到它的底部。我在我的網站的主頁上有一段視頻。當訪客點擊播放視頻圖形時,YouTube視頻將在Fancybox模式下播放。我想發送一封電子郵件通訊,鼓勵訂閱者觀看視頻,方法是單擊通訊中的鏈接,然後自動啓動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有一個onClick事件來註冊Google Analytics事件。

回答

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之後丟失一個逗號以將其與fol分隔降脂選項buttons: {}
  • 我設置.trigger("click")相同的選擇所以沒有必要兩個不同的腳本
  • 的由於您使用YouTube的embed形式,我加type: "iframe"到API選項

看到它在這方面的工作jsfiddle

的分析onclick不應該是你可以在console.log

看到一個問題
+0

謝謝@JFK。這很有效,但我在Chrome中運行時遇到了問題,結果是我使用的Google Analytics(分析)跟蹤代碼存在問題。需要將其更新到最新版本。 我在兩套腳本中擁有這個功能的原因是,我不希望它自動打開所有的時間,但只能在www.example.com?autoplay=true上舉例。我在一次調用中使用了您的腳本版本,如果查詢字符串參數自動播放是真的,則使用它,否則使用原始代碼。只是出於興趣,任何想法,爲什麼這不會工作時,它被加載爲兩個腳本? –

+0

@AdrianWalls:它不能在兩個腳本中工作的原因是因爲第一個語法錯誤,我在腳本中糾正了這個錯誤。看我的答案列表。如果這適用於您,請http://meta.stackexchange.com/a/5235。 – JFK

相關問題