开始&在Fancybox Overlay中以编程方式从Sitecore停止Brightcove视频

时间:2014-04-02 19:35:32

标签: jquery responsive-design sitecore fancybox-2 brightcove

所以我在启动/停止使用Sitecore 6.5的Brightcove视频连接器的Brightcove视频时遇到问题。

基本上,内置视频连接器提供了一个" go并在富文本编辑器中呈现视频"然后等到输出时间以获得带有Brightcove JS内容的iFrame,等等。

为了避免自动启动发生(因为我想在视频填充Fancybox2叠加层后发生自动启动),我将富文本框的HTML填充到输入隐藏值中。这让我觉得自己很脏,但确实有效。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SitecoreSublayout.ascx.cs" Inherits="Assembly.SitecoreSublayout" %>
<%--CONTENT REMOVED--%>

<div class="wrapper black">
    <div class="page-header">       
            <div class="mobile-video-container">
                <customControl:Image Item="<%# DataOrContextItem %>" Field="VideoPlayLink" RemoveWidthHeight="true" runat="server" />
            </div>
                    <%--CONTENT REMOVED--%>

                    <div class="mobile-content"><sc:FieldRenderer ID="FieldRenderer1" FieldName="FieldName" runat="server" /></div>
                <a class="arrow-link expand-link" href="#">Expand For Full Story</a>
            </div>
            <%--CONTENT REMOVED--%>
        </div>
    </div>
</div>

<div id="video-dialog">
    <input id="hdnVideoContent" type="hidden" value='<%# DataOrContextItem.Fields["VideoFieldName"] %>' />
</div>

当我调用JQuery事件打开Fancybox时,我将隐藏的值填充到Fancybox2的内容中。由于这包括自动播放,它播放就好了。在大多数浏览器中,这都有效。不幸的是,我支持IE8,Android 4.1,iOS 7等。当Fancybox关闭时,他们没有处理这种过渡以很好地停止视频。

GlobalObject.brightcoveOverlay = function () {
    $(".mobile-video-container, .video-container").on('click', function () {
        $.fancybox({
            'hideOnContentClick': false,
            'autoScale': false,
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            content: $('#hdnVideoContent').val()
        }); // fancybox
        return false;
    }); // click
}();

不幸的是,我无法发布视频代码。我们根据客户许可证,我们有一些NDAs阻止我披露超过此功能。

有人知道通过选择器,劫持找到Brightcove视频的好方法,并在Fancybox2关闭之前停止播放视频吗?我注入了我自己的Brightcove API,但我似乎无法通过正常的Brightcove.API路径进行访问。

赞赏任何和所有建议。只是试图减轻事情,以便我可以解决手头的一些问题。

0 个答案:

没有答案