Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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检查浏览器 var user=navigator.userAgent; var浏览器={}; browser.opera=user.indexOf(“opera”)>-1&&typeof window.opera==“object”; browser.khtml=(user.indexOf(“khtml”)>-1 | | | user.indexOf(“AppleWebKit”)>-1 | | user.indexOf(“konkeror”)>-1&!browser.opera; browser.ie=user.indexOf(“MSIE”)>-1&&!browser.opera; browser.gecko=user.indexOf(“gecko”)>-1&&!browser.khtml; if(browser.ie){ 变量ie_reg=/MSIE(\d+\.\d+)/; ie注册测试(用户); var v=parseFloat(RegExp[“$1]”); browser.ie55=v_Javascript - Fatal编程技术网

使用JavaScript检查浏览器 var user=navigator.userAgent; var浏览器={}; browser.opera=user.indexOf(“opera”)>-1&&typeof window.opera==“object”; browser.khtml=(user.indexOf(“khtml”)>-1 | | | user.indexOf(“AppleWebKit”)>-1 | | user.indexOf(“konkeror”)>-1&!browser.opera; browser.ie=user.indexOf(“MSIE”)>-1&&!browser.opera; browser.gecko=user.indexOf(“gecko”)>-1&&!browser.khtml; if(browser.ie){ 变量ie_reg=/MSIE(\d+\.\d+)/; ie注册测试(用户); var v=parseFloat(RegExp[“$1]”); browser.ie55=v

使用JavaScript检查浏览器 var user=navigator.userAgent; var浏览器={}; browser.opera=user.indexOf(“opera”)>-1&&typeof window.opera==“object”; browser.khtml=(user.indexOf(“khtml”)>-1 | | | user.indexOf(“AppleWebKit”)>-1 | | user.indexOf(“konkeror”)>-1&!browser.opera; browser.ie=user.indexOf(“MSIE”)>-1&&!browser.opera; browser.gecko=user.indexOf(“gecko”)>-1&&!browser.khtml; if(browser.ie){ 变量ie_reg=/MSIE(\d+\.\d+)/; ie注册测试(用户); var v=parseFloat(RegExp[“$1]”); browser.ie55=v,javascript,Javascript,navigator.userAgent包含一个字符串,其中包含有关当前浏览器的数据 在第二行代码中,您创建了一个空的browser对象。然后,根据浏览器的不同,添加true或false属性。例如,如果浏览器是Opera,则单词Opera位于navigator.userAgent中的某个位置。对于KHTML,显然也是这样做的还有壁虎 要实际检查字符串是否包含某些字符/单词,可以使用indexOf。这将返回单词开始的索引。如果它没有出现在字符串中,则返回-1。因此检查-1意味着检查它是否包含单词 对

navigator.userAgent
包含一个字符串,其中包含有关当前浏览器的数据

在第二行代码中,您创建了一个空的
browser
对象。然后,根据浏览器的不同,添加
true
false
属性。例如,如果浏览器是Opera,则单词
Opera
位于
navigator.userAgent
中的某个位置。对于KHTML,显然也是这样做的还有壁虎

要实际检查字符串是否包含某些字符/单词,可以使用
indexOf
。这将返回单词开始的索引。如果它没有出现在字符串中,则返回-1。因此检查
-1
意味着检查它是否包含单词

对于IE,您可以通过在
navigator.userAgent
上执行正则表达式来区分版本5.5和版本6。这是一种放置在字符串上的形状,用于过滤所需内容。您可以检查解析出的版本是5.5还是6,并适当地存储该数据


因此,
browser
对象最终包含正在使用浏览器的值。

navigator.userAgent
包含一个包含当前浏览器数据的字符串

在第二行代码中,您创建了一个空的
browser
对象。然后,根据浏览器的不同,添加
true
false
属性。例如,如果浏览器是Opera,则单词
Opera
位于
navigator.userAgent
中的某个位置。对于KHTML,显然也是这样做的还有壁虎

要实际检查字符串是否包含某些字符/单词,可以使用
indexOf
。这将返回单词开始的索引。如果它没有出现在字符串中,则返回-1。因此检查
-1
意味着检查它是否包含单词

对于IE,您可以通过在
navigator.userAgent
上执行正则表达式来区分版本5.5和版本6。这是一种放置在字符串上的形状,用于过滤所需内容。您可以检查解析出的版本是5.5还是6,并适当地存储该数据


因此,
browser
对象最终包含正在使用浏览器的值。

这不完全是询问堆栈溢出的方式…您需要问一些特定的问题。稍微偏离主题,但是:检查用户使用的浏览器很少合适。相反,代码应该检查它所需的功能。这称为d“特征检测”而不是“浏览器检测”并且代表了当前为web编写JavaScript的最佳实践。功能测试;专门针对HTML5内容。@downvoter,@closevorters:我认为问题相当清楚,并且得到了相当好的答案。@rundaily想要解释代码在做什么,而@pimvdb主要做了什么。不完全是关于堆栈溢出的提问方式…您需要提出特定的问题。稍微偏离主题,但是:检查用户使用的浏览器很少合适。相反,代码应该检查它所需的功能。这称为“功能检测”,而不是“浏览器检测”并且代表了当前为web编写JavaScript的最佳实践。功能测试;专门针对HTML5内容。@downvoter,@CloseVorters:我认为这个问题相当清楚,也得到了相当好的回答。@RunDaily想要解释一下代码在做什么,而@pimvdb主要是做了什么。+1 Proably w或者解释
indexOf
这件事,只是为了完整性。回答得好。它指出,应该进行能力检测,以利于用户代理嗅探。+1值得解释
indexOf
这件事,只是为了完整性。回答得好。它指出,能力检测应该在用户代理嗅探的avor。
var user = navigator.userAgent;
var browser = {};
browser.opera = user.indexOf("Opera") > -1 && typeof window.opera == "object";
browser.khtml = (user.indexOf("KHTML") > -1 || user.indexOf("AppleWebKit") > -1 || user.indexOf("Konqueror") > -1) && !browser.opera;
browser.ie = user.indexOf("MSIE") > -1 && !browser.opera;
browser.gecko = user.indexOf("Gecko") > -1 && !browser.khtml;
if ( browser.ie ) {
    var ie_reg = /MSIE (\d+\.\d+);/;
    ie_reg.test(user);
    var v = parseFloat(RegExp["$1"]);
    browser.ie55 = v <= 5.5;
    browser.ie6  = v <= 6;
}