我需要根据浏览器类型加载不同的电影格式。具体来说,如果用户使用的是 firefox,那么我需要加载 .ocv 视频。
我试过使用:
alert(navigator.appName);
但这总是在 chrome 和 firefox 中返回“Netscape”??
有更好的选择吗?
干杯
最佳答案
停止!!!所有提出的解决方案都是网络崩溃的原因!
不要仅仅因为浏览器是 IE、Firefox 或 Chrome,就根据您从 userAgent 中正则表达式的名称假设浏览器可以做某事或不能做某事。 UserAgents 可以被伪造!手动进行特征检测或使用像 Modernizr 这样的功能齐全的东西
你想做的是通过 javascript 提供的。检查浏览器是否可以播放html5视频;
var canHtml5Video=function(){
return !!document.createElement("video").canPlayType;
}
要检查浏览器是否可以播放某种类型(mp4、ogg),请使用 canPlayType音频/视频元素的方法。
var elem=document.getElementsByTagName("video")[0];
if (elem.canPlayType("video/mp4")===""){
//handle firefox and all browser that cant pay the mp4 royality fee
}
else{
//handle mp4
}
或者,您可以只向视频元素添加多个源元素。浏览器将选择最合适的。
<video>
<source src="http://....mp4" type="video/mp4" />
<source src="http://....ocv" type="video/ogg" />
</video>
关于javascript - 在javascript中获取浏览器类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12818233/