2012-11-28 40 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

相关问题