js/php 判断 手机操作系统/浏览器/微信浏览器 的代码

js判断手机浏览器操作系统和微信浏览器的方法

做手机端的前端开发,少不了对手机平台的判断。如,对于app下载,就要判断在Android平台下就显示Android下载提示;在iOS平台下就显示iOS下载提示。

今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法:

<script type="text/javascript">
//手机端判断各个平台浏览器及操作系统平台
function checkPlatform(){
if(/android/i.test(navigator.userAgent)){
document.write("This is Android'browser.");//这是Android平台下浏览器
}
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)){
document.write("This is iOS'browser.");//这是iOS平台下浏览器
}
if(/Linux/i.test(navigator.userAgent)){
document.write("This is Linux'browser.");//这是Linux平台下浏览器
}
if(/Linux/i.test(navigator.platform)){
document.write("This is Linux operating system.");//这是Linux操作系统平台
}
if(/MicroMessenger/i.test(navigator.userAgent)){
document.write("This is MicroMessenger'browser.");//这是微信平台下浏览器
}
}
$(document).ready(function(){
alert(navigator.platform);
checkPlatform();
});
</script>

PHP 判断 操作系统 手机 浏览器 代码

一个蛋痛的项目,一个很龊的解决方案,配上一个完美的判断,这算什么,我无言,唉。不废话,看主题,今天和大家分享的是如果用PHP去判断当前浏览者的操作系统(包括手机和IPad等平板)和浏览器名称和版本号等。因为之前本人(Web编程技术交流网)也写过一些文章《PHP识别用户浏览器以及所使用的系统》《PHP判断浏览器类型的代码》《JS和PHP判断浏览器类型的方法【精华】》《JS判断浏览器类型》,今天把这些文件做一个总结并加强一下功能,把手机操作系统的判断也加进去,东西比较的全面,当然,这个东西,我不能保存他是永远正确的,因为各个浏览器的标准都是不一样的。所以,如果不正确的地方或者BUG大家可以一起交流一下,php判断浏览器,支持国内外多种浏览器,以及使用平台。相当给力…是一个php class。
主要涉及到以下几个方法(做一下简单的描述): 1.isBrowser($browserName)//判断是某浏览器,参数写浏览器的名字 2.getBrowser();//获得浏览器的名称 3.getPlatform();//获得操作系统的类型,如Windows或者LInux或者。。。 4.getVersion();//获得浏览器的版本号 5.getAolVersion();//获得Aol 6.isAol();//判断是否为AoL 7.isMobile();//判断是否为手机浏览器,自带的浏览器, 非第三方。 8.isRobot();//是否来自搜索引擎 9.getUserAgent();//… 10.isChromeFrame();//…
主要实现的几个方法,包含和器判断,操作系统的判断等 。

protected function checkBrowsers() {
    return (
        $this->checkBrowserWebTv() ||
        $this->checkBrowserInternetExplorer() ||
        $this->checkBrowserOpera() ||
        $this->checkBrowserGaleon() ||
        $this->checkBrowserNetscapeNavigator9Plus() ||
        $this->checkBrowserFirefox() ||
        $this->checkBrowserChrome() ||
        $this->checkBrowserOmniWeb() ||
        // common mobile
        $this->checkBrowserAndroid() ||
        $this->checkBrowseriPad() ||
        $this->checkBrowseriPod() ||
        $this->checkBrowseriPhone() ||
        $this->checkBrowserBlackBerry() ||
        $this->checkBrowserNokia() ||
        // common bots
        $this->checkBrowserGoogleBot() ||
        $this->checkBrowserMSNBot() ||
        $this->checkBrowserSlurp() ||
        // WebKit base check (post mobile and others)
        $this->checkBrowserSafari() ||
        
        // everyone else
        $this->checkBrowserNetPositive() ||
        $this->checkBrowserFirebird() ||
        $this->checkBrowserKonqueror() ||
        $this->checkBrowserIcab() ||
        $this->checkBrowserPhoenix() ||
        $this->checkBrowserAmaya() ||
        $this->checkBrowserLynx() ||
        $this->checkBrowserShiretoko() ||
        $this->checkBrowserIceCat() ||
        $this->checkBrowserW3CValidator() ||
        $this->checkBrowserMozilla() /* Mozilla is such an open standard that you must check it last */
    );
}
protected function checkBrowserOpera() {
    if( stripos($this->_agent,'opera mini') !== false ) {
        $resultant = stristr($this->_agent, 'opera mini');
        if( preg_match('/\//',$resultant) ) {
            $aresult = explode('/',$resultant);
            $aversion = explode(' ',$aresult[1]);
            $this->setVersion($aversion[0]);
        }
        else {
            $aversion = explode(' ',stristr($resultant,'opera mini'));
            $this->setVersion($aversion[1]);
        }
        $this->_browser_name = self::BROWSER_OPERA_MINI;
        $this->setMobile(true);
        return true;
    }
    else if( stripos($this->_agent,'opera') !== false ) {
        $resultant = stristr($this->_agent, 'opera');
        if( preg_match('/Version\/(10.*)$/',$resultant,$matches) ) {
            $this->setVersion($matches[1]);
        }
        else if( preg_match('/\//',$resultant) ) {
            $aresult = explode('/',str_replace("("," ",$resultant));
            $aversion = explode(' ',$aresult[1]);
            $this->setVersion($aversion[0]);
        }
        else {
            $aversion = explode(' ',stristr($resultant,'opera'));
            $this->setVersion(isset($aversion[1])?$aversion[1]:"");
        }
        $this->_browser_name = self::BROWSER_OPERA;
        return true;
    }
    return false;
}
protected function checkPlatform() {
    if( stripos($this->_agent, 'windows') !== false ) {
        $this->_platform = self::PLATFORM_WINDOWS;
    }
    else if( stripos($this->_agent, 'iPad') !== false ) {
        $this->_platform = self::PLATFORM_IPAD;
    }
    else if( stripos($this->_agent, 'iPod') !== false ) {
        $this->_platform = self::PLATFORM_IPOD;
    }
    else if( stripos($this->_agent, 'iPhone') !== false ) {
        $this->_platform = self::PLATFORM_IPHONE;
    }
    elseif( stripos($this->_agent, 'mac') !== false ) {
        $this->_platform = self::PLATFORM_APPLE;
    }
    elseif( stripos($this->_agent, 'android') !== false ) {
        $this->_platform = self::PLATFORM_ANDROID;
    }
    elseif( stripos($this->_agent, 'linux') !== false ) {
        $this->_platform = self::PLATFORM_LINUX;
    }
    else if( stripos($this->_agent, 'Nokia') !== false ) {
        $this->_platform = self::PLATFORM_NOKIA;
    }
    else if( stripos($this->_agent, 'BlackBerry') !== false ) {
        $this->_platform = self::PLATFORM_BLACKBERRY;
    }
    elseif( stripos($this->_agent,'FreeBSD') !== false ) {
        $this->_platform = self::PLATFORM_FREEBSD;
    }
    elseif( stripos($this->_agent,'OpenBSD') !== false ) {
        $this->_platform = self::PLATFORM_OPENBSD;
    }
    elseif( stripos($this->_agent,'NetBSD') !== false ) {
        $this->_platform = self::PLATFORM_NETBSD;
    }
    elseif( stripos($this->_agent, 'OpenSolaris') !== false ) {
        $this->_platform = self::PLATFORM_OPENSOLARIS;
    }
    elseif( stripos($this->_agent, 'SunOS') !== false ) {
        $this->_platform = self::PLATFORM_SUNOS;
    }
    elseif( stripos($this->_agent, 'OS\/2') !== false ) {
        $this->_platform = self::PLATFORM_OS2;
    }
    elseif( stripos($this->_agent, 'BeOS') !== false ) {
        $this->_platform = self::PLATFORM_BEOS;
    }
    elseif( stripos($this->_agent, 'win') !== false ) {
        $this->_platform = self::PLATFORM_WINDOWS;
    }
}

本方法的亮点在于可以判断手机和浏览器的电脑的浏览器及电脑手机的操作系统,如果你能把这几者结合起来用,基本,你在这个判断问题上就已经无敌了。。希望能帮到你。

php判断用户浏览器类型是否为微信浏览器

这个问题本站以前讨论过,直接点过去看吧:http://www.111cn.net/phper/php/64226.htm

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, 操作系统
, 浏览器
, this
, 类型
平台
浏览器判断操作系统、判断浏览器系统、浏览器操作系统、基于浏览器的操作系统、ip 浏览器 操作系统,以便于您获取更多的相关知识。

时间: 2024-08-17 20:11:16

js/php 判断 手机操作系统/浏览器/微信浏览器 的代码的相关文章

js判断手机浏览器操作系统和微信浏览器的方法_javascript技巧

今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法: <script type="text/javascript"> //手机端判断各个平台浏览器及操作系统平台 function checkPlatform(){ if(/android/i.test(navigator.userAgent)){ document.write("This is Android'browser.");//这是Android平台下浏览器 } if(/(iPhonei

两款JS脚本判断手机浏览器类型跳转WAP手机网站_javascript技巧

随着移动设备的普及,企业的网络宣传已经不能局限在PC端,而需要同时在移动端有所建树.对于公司网站来说,以前都是做的PC端的,当然手机等移动端也可以访问,但是用户体验肯定不如完全适合的手机端来的方便.我们在给自己的网站做了WAP手机网站之后,如果有用户通过手机访问我们的企业顶级域名网站,那就判断跳转到专为的WAP网站. 这里老左整理到目前自己在使用的2种JS脚本,因为之前一直有朋友跟我要,所以这里分享出来. 第一种:直接JS脚本 <script type="text/javascript&q

用于deeplink的js方法(判断手机是否安装app)_javascript技巧

代码功能:判断手机/平板是否安装app如果安装 则调用app的scheme,传入url当作参数,来做后续操作如果没有安装 则跳转到app store/google play 下载app 复制代码 代码如下: (function() {var openUrl = window.location.search;try{openUrl = openUrl.substring(1,openUrl.length);}catch(e){ }var isiOS = navigator.userAgent.ma

JavaScript判断是否是微信浏览器_javascript技巧

先给大家说下实现原理 根据判断UA中是否有关键字micromessenger,有的话则是微信内置浏览器 实现代码如下所示: //判断是否微信登陆 function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, lik

关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法_javascript技巧

前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML <input type="file" id="choose" capture="camera" accept="image/*"> JavaScript var filechooser = document.getEleme

微信浏览器内置JavaScript对象WeixinJSBridge使用实例_javascript技巧

微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享到朋友圈,关注微信号等按钮. 一.微信内置浏览器 通过 Mac 远程调试 iPhone 上微信自己的网页,我们可以发现微信内嵌浏览器定义了一个私有 JavaScript 对象:WeixinJSBridge,通过操作这个对象的相关方法可以实现分享到微信朋友圈,和判断一个微信号的关注状态以及实现关注指定

php微信浏览器分享设置以及回调详解_php实例

在微信中分享给好友/分享到朋友圈这个功能应该是比较常用的了,就拿分享到朋友圈举例,分享出去的内容在朋友圈的展示是以一张小图片+一个简单的介绍的形式来给好友看到的,点击后才是详情,那么这么一来,这张小图片和这段小简介就直接成为了这个被分享后的内容的被点击率的重中之重.在默认情况下,这张图片会载入内容主题部分的第一张大图片,而简介只会加载一个网址.这样的展示方式还是相当不尽如人意的,那我们来看一下这一些内容,是通过什么形式来设置的,拿PHP来做一个举例:  首先我们需要有一个公众号,并且获得appi

JS判断是否在微信浏览器打开的简单实例(推荐)_javascript技巧

最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去.在分享页面上提供公司APP的下载.但是在很多应用的浏览器中,点击下载链接无法下载应用.那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面.通过js就可以判断当前页面是在什么浏览器打开的. 以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开.当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是

JS 动态判断PC和手机浏览器实现代码_javascript技巧

这个只是一个小知识,也是在网上找的,挺好用! 动态判断浏览器是PC还是移动端! <script> var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit