【问题标题】:MediaElement.js - detect flash fallbackMediaElement.js - 检测闪存回退
【发布时间】:2014-07-29 15:37:58
【问题描述】:
我正在使用 MediaElement.js 在页面上播放视频。
如果用户在旧版浏览器上浏览并使用 Flash,我需要运行一些额外的 javascript 代码。我已经搜索但似乎无法找到一种方法来检测 MediaElement 是否初始化了 Flash 后备选项而不是使用 HTML5 视频。
例如,Firefox 10 初始化了 Flash 回退,尽管该浏览器在技术上支持 HTML5 视频。因此,现代化者不会在这里工作。有什么帮助吗?
【问题讨论】:
标签:
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