Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取javascript中的浏览器类型_Javascript_Html_Browser_Html5 Video_User Agent - Fatal编程技术网

获取javascript中的浏览器类型

获取javascript中的浏览器类型,javascript,html,browser,html5-video,user-agent,Javascript,Html,Browser,Html5 Video,User Agent,我需要根据浏览器类型加载不同的电影格式。特别是如果用户使用firefox,那么我需要加载一个.ocv视频 我试过使用: alert(navigator.appName); 但这在chrome和firefox中总是返回“Netscape” 有更好的选择吗 干杯试试看 警报(navigator.userAgent) 有关详细信息:您想使用类似的 对于ie: var ie = $.browser.msie; 对于firefox: var mozilla = $.browser.mozilla;

我需要根据浏览器类型加载不同的电影格式。特别是如果用户使用firefox,那么我需要加载一个.ocv视频

我试过使用:

alert(navigator.appName); 
但这在chrome和firefox中总是返回“Netscape”

有更好的选择吗

干杯

试试看 警报(navigator.userAgent)

有关详细信息:

您想使用类似的

对于ie:

var ie = $.browser.msie;
对于firefox:

var mozilla = $.browser.mozilla;
对于铬:

var chrome = $.browser.webkit && window.chrome;
对于狩猎:

var safari = $.browser.webkit && !window.chrome;

停下来所有建议的解决方案都是导致网络崩溃的原因

不要以为基于你从userAgent注册的名字的浏览器可以做些什么,或者仅仅因为它是IE、Firefox或Chrome。用户代理可以是伪造的,也可以是伪造的!手动或使用类似的功能进行功能检测

您想要做的是通过javascript提供的。检查浏览器是否可以播放html5视频

var canHtml5Video=function(){
    return !!document.createElement("video").canPlayType;
}
要检查浏览器是否可以播放特定类型(mp4、ogg),请使用音频/视频元素的方法

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>

使用
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
}

我很惊讶没有人提到所有的浏览器检测方法充其量都是脆弱的。您最好的选择是查看浏览器是否支持各种视频格式,并尝试加载这些格式。我猜您没有阅读我的答案;)这是破坏网络!不要浏览器嗅探,使用功能检测!这篇文章上的jQuery标签在哪里?这是在破坏网络!不要浏览器嗅探,使用功能检测!功能检测可能是前进的方向,但为什么您认为userAgent是伪造的?为什么会有人想这样做?嗯,之所以会这样,是因为程序员进行了浏览器嗅探。所以,当我知道我的浏览器支持某些东西(但以前没有)时,我很生气被锁在外面。因此,我将更改UserAgent以获得访问权限。这通常发生在企业内部网或SAP等系统中,它们锁定所有非IE浏览器,因此只需支持企业默认浏览器(IE6)。