Questions tagged «browser-detection»

检测用户用来查看网页的浏览器的类型和版本。


30
检测移动浏览器
我正在寻找一个函数,如果用户具有移动浏览器,该函数将返回布尔值。 我知道我可以navigator.userAgent通过使用正则表达式来使用和编写该函数,但是对于不同的平台,用户代理太多了。我怀疑匹配所有可能的设备会很容易,并且我认为这个问题已经解决了很多次,因此应该为此类任务提供某种完整的解决方案。 我当时在看这个站点,但可悲的是脚本太神秘了,以至于我不知道如何使用它来创建一个返回true / false的函数。


30
检查用户是否正在使用IE
我通过单击具有特定类的div来调用下面的函数。 有没有一种方法可以在启动功能时检查用户是否正在使用Internet Explorer,并在用户使用其他浏览器时中止/取消该功能,以便仅为IE用户运行?这里的用户都将使用IE8或更高版本,因此我不需要介绍IE7和更低版本。 如果我能告诉他们使用的是哪种浏览器,那很好,但这不是必需的。 示例功能: $('.myClass').on('click', function(event) { // my function });


30
在JavaScript中检测IE版本(v9之前的版本)
如果他们使用的是Internet Explorerv9之前的版本,我想将我们网站的用户退回至错误页面。只是不值得我们花费时间和金钱来支持IE pre-v9。使用其他所有非IE浏览器的用户都可以使用,并且不应被退回。这是建议的代码: if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE var badBrowser=( navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too ); if(badBrowser){ // navigate to error page } } 这段代码会成功吗? 拒绝一些可能会以我的方式发表的评论: 是的,我知道用户可以伪造useragent字符串。我不担心 是的,我知道编程专家更喜欢嗅探功能支持而不是浏览器类型,但在这种情况下,我认为这种方法不可行。我已经知道所有(相关)非IE浏览器都支持我需要的功能,而所有pre-v9 IE浏览器都不支持。在整个站点中逐个功能地检查将是浪费。 是的,我知道有人尝试使用IE v1(或> = 20)访问该网站不会将'badBrowser'设置为true,并且警告页面也无法正确显示。这是我们愿意承担的风险。 是的,我知道Microsoft具有可用于精确浏览器版本检测的“条件注释”。从IE开始,IE不再支持条件注释IE 10,从而使该方法绝对无用。 还有其他明显的问题要注意吗?


15
如何检测IE11?
当我想检测IE时,请使用以下代码: function getInternetExplorerVersion() { var rv = -1; if (navigator.appName == 'Microsoft Internet Explorer') { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; } function checkVersion() { var msg = "You're not using Internet Explorer."; var …

9
检测iOS / Android操作系统
我已经做了一些研究,但这个问题已经提出,但不是我打算的那样。我正在为QR登陆的客户端构建页面,这是一个下载应用程序的地方。因此,他不必在页面上打印2个QR码,我想检测当前的操作系统(Apple / Android / Other [不支持])并根据该值修改我的元素。 我已经看过脚本“ detectmobilebrowsers”,它的目的只是告诉用户是否完全可以移动,而我想弄清楚用户正在运行哪种操作系统,并建议最佳的应用程序版本。 我发现与此问题类似的其他答案似乎已经过时或不可靠(无法检测到Android平板电脑浏览器),因此我正在寻找新的东西。我该如何实现?(最好依次使用jQuery-Javascript-PHP)。


12
在PHP中检测浏览器语言
我使用以下PHP脚本作为网站索引。 该脚本应包括一个特定页面,具体取决于浏览器的语言(自动检测到)。 该脚本无法在所有浏览器上正常运行,因此它始终包含index_en.php用于所有检测到的语言的(问题的原因很可能是未考虑某些Accept-Language标头的问题)。 您能否建议我一个更强大的解决方案? <?php // Open session var session_start(); // views: 1 = first visit; >1 = second visit // Detect language from user agent browser function lixlpixel_get_env_var($Var) { if(empty($GLOBALS[$Var])) { $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? $GLOBALS['_SERVER'][$Var] : (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var])) ? $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; } } function lixlpixel_detect_lang() { // Detect HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT. lixlpixel_get_env_var('HTTP_ACCEPT_LANGUAGE'); lixlpixel_get_env_var('HTTP_USER_AGENT'); …

18
检测Safari浏览器
如何使用JavaScript检测Safari浏览器?我在下面尝试过代码,它不仅可以检测Safari,还可以检测Chrome浏览器。 function IsSafari() { var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') > -1; return is_safari; }

13
使用jQuery检测Safari
尽管两者都是基于Webkit的浏览器,但Safari会在URL中用引号将引号引起来,而Chrome则不会。 因此,我需要在JS中区分这两者。 jQuery的浏览器检测文档将“ safari”标记为已弃用。 有没有更好的方法,或者我现在只是坚持不赞成使用的值?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.