【问题标题】:MediaElement.js - detect flash fallbackMediaElement.js - 检测闪存回退
【发布时间】:2014-07-29 15:37:58
【问题描述】:

我正在使用 MediaElement.js 在页面上播放视频。

如果用户在旧版浏览器上浏览并使用 Flash,我需要运行一些额外的 javascript 代码。我已经搜索但似乎无法找到一种方法来检测 MediaElement 是否初始化了 Flash 后备选项而不是使用 HTML5 视频。

例如,Firefox 10 初始化了 Flash 回退,尽管该浏览器在技术上支持 HTML5 视频。因此,现代化者不会在这里工作。有什么帮助吗?

【问题讨论】:

  • 您使用的是什么代码?什么MEJS版本?

标签: jquery html5-video mediaelement.js


【解决方案1】:

当 mediaelement.js (MEJS) 为不支持 HTML5 视频的浏览器使用 flashback 插件(flash、silverlight 等)时,它会添加一个带有选择器 .me-plugin 的元素/p>

您可以验证.me-plugin 是否存在其ID 是否包含flash 来决定是否运行您的其他脚本:

var _isFlash = false;
$(document).ready(function () {
    player = new MediaElementPlayer('#video-player', {
        // MEJS options
    });
    var mePlugin = $(".me-plugin");
    _isFlash = mePlugin.length > 0 && (mePlugin.attr("id").indexOf("flash")) ? true : false;
    if (_isFlash) {
        // MEJS is using flash fallback, so do something
        $("#log").append("<span>MEJS is using flash fallback</span>");
    };
});

JSFIDDLE

如果您使用 IE

【讨论】: