我正在创建一个 MVC 5 应用程序,在 View 中我正在使用 videojs。它适用于 Firefox 和 Chrome,但在 IE 11 中我在控制台中收到以下错误:
“对象不支持属性或方法‘querySelector’”
上述错误发生在 video.js 的第 175 行第 62 列中。因此,视频无法播放。我使用的是 Windows 7 Enterprise 64 位。使用 Internet Explorer 版本 11.0.9600.18015。我意识到浏览器说这是 video.js 文件的问题,但为了彻底起见,这里是 IE 11 从 MVC 应用程序呈现的标签:
<div id="VideoDiv" style="margin-top:10px;">
<video id="example_video_1"
class="video-js vjs-default-skin"
width="750"
height="400"
preload="none"
data-setup='{ "techOrder": ["html5"], "controls":true, "autoplay" : false}'>
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4"/>
</video>
</div>
以下是 View 中标记的原始代码:
<div id="VideoDiv" style="margin-top:10px;">
<video id="example_video_1"
class="video-js vjs-default-skin"
width="@Model.VideoOptions.Width.ToString()"
height="@Model.VideoOptions.Height.ToString()"
preload="none"
@(Model.VideoOptions.IsYouTube ? Html.Raw(string.Format("src='{0}'", Model.VideoOptions.VideoSource) ) : null)
data-setup='{ "techOrder": [@Html.Raw(Model.VideoOptions.TechOrder)], @Html.Raw(string.Format(" \"controls\":{0}", Model.VideoOptions.IncludeControls.ToString().ToLower())), "autoplay" : @Model.VideoOptions.Autoplay.ToString().ToLower()}'>
@if (!Model.VideoOptions.IsYouTube)
{
<source src="@Model.VideoOptions.VideoSource" type="@Model.VideoOptions.VideoSourceType"/>
}
</video>
</div>
有人知道它为什么不起作用吗?
最佳答案
这个问题的解决方案是添加
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
标记为 Head 中的第一项。
从我发送的链接进行编辑:
显然是设置
<!DOCTYPE html>
页面内的内容不足以安抚 Internet Explorer。当 http://machine:80 引用我的网站时,浏览器仍然选择 IE7 作为其默认文档模式。
这是由于 Internet Explorer 中用于查看内部网站的默认兼容性设置导致 IE 的行为与外部网站不同。
设置 X-UA-Compatible 元标记显式声明内部浏览器应以 Edge 模式接收站点,而无需管理兼容性设置,但必须指定为 head 中的第一个标记才能实现此效果.
关于javascript - 视频JS : Object doesn't support property or method 'querySelector' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131197/