我需要根据浏览器类型加载不同的电影格式。特别是如果用户使用的是Firefox,那么我需要加载.ocv视频。
我尝试过使用:
alert(navigator.appName);
但这总是会在chrome和firefox中返回'Netscape'吗?
有更好的选择吗?
干杯
答案 0 :(得分:5)
停止!!! 所有提议的解决方案都是网络破解和破坏的原因!
不要假设一个浏览器,根据你用户代理的名称,可以做某事或不做,只因为它是IE,Firefox或Chrome。 UserAgent可以伪造!手动进行特征检测或使用像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
}
Alternativ,您只需向视频元素添加多个源元素即可。浏览器将选择最适合的内容。
<video>
<source src="http://....mp4" type="video/mp4" />
<source src="http://....ocv" type="video/ogg" />
</video>
答案 1 :(得分:1)
尝试 警报(navigator.userAgent的);
答案 2 :(得分:1)
你想用一些像 this
答案 3 :(得分:0)
使用navigator.userAgent
获取浏览器详细信息
if (navigator.userAgent.toLowerCase().indexOf("firefox") > -1) {
// Inside firefox
}
if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1) {
// Inside chrome
}
if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
// Inside IE
}
答案 4 :(得分:-1)
表示ie:
var ie = $.browser.msie;
for firefox:
var mozilla = $.browser.mozilla;
表示chrome:
var chrome = $.browser.webkit && window.chrome;
for safari:
var safari = $.browser.webkit && !window.chrome;