网站访问者UA检测及跳转

news/2024/7/4 8:02:30 标签: php

/*!
* UA检测及跳转
*/
;(function(){
var whatdevice = {};
var myUA = window.navigator.userAgent.toLowerCase();
//正则得小写

/*
* 是否移动设备:返回Boolean。
*/
whatdevice.isMobile = /(?:micromessenger|mobile|iphone|ipod|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|windows phone|win ce)/.test(myUA);

/*
* 跳转到手机网站:参数1是手机网站网址。
* 使用方法:whatdevice.go2mob('手机网站网址') 若不想跳转,当前访问的URL传递参数itsme=1,如http://www.hiry.cn/网站?itsme=1
*/
whatdevice.go2mob = function(){
var mobUrl = arguments[0]; //参数1
var myArg = [];
myArg = window.location.search.substr(1).match(/(^|&)itsme=([^&]*)(&|$)/i); //获取URL参数itsme
var itsme = (myArg != null && myArg[2] != null)?myArg[2]:0;
if(itsme != 1 && mobUrl != null && whatdevice.isMobile){
window.location.href = mobUrl;
}
};

/*
* 跳转到电脑网站:参数1是电脑网站网址。
* 使用方法:whatdevice.go2web('电脑网站网址') 若不想跳转,当前访问的URL传递参数itsme=1,如m.b5f.cn/?itsme=1
*/
whatdevice.go2web = function(){
var webUrl = arguments[0]; //参数1
var myArg = [];
myArg = window.location.search.substr(1).match(/(^|&)itsme=([^&]*)(&|$)/i); //获取URL参数itsme
var itsme = (myArg != null && myArg[2] != null)?myArg[2]:0;
if(itsme != 1 && webUrl != null && !whatdevice.isMobile){
window.location.href = webUrl;
}
};

/*
* 是否苹果手机:返回Boolean。
*/
whatdevice.isiOS = /(?:iphone)/.test(myUA);

/*
* 是否安卓手机:返回Boolean。
*/
whatdevice.isAndroid = /(?:android)/.test(myUA);

/*
* 是否微信浏览器:返回Boolean。
*/
whatdevice.isWechat = /(?:micromessenger)/.test(myUA);

/*
* 是否微信小程序:返回Boolean。
*/
whatdevice.isMiniProgram = window.__wxjs_environment === 'miniprogram';

/*注册全局变量*/
window.whatdevice = whatdevice;
})();

转载于:https://www.cnblogs.com/blogst/p/9073141.html


http://www.niftyadmin.cn/n/1485133.html

相关文章

c语言状态机_什么是状态机?用C语言实现进程5状态模型

前言状态机在实际工作开发中应用非常广泛,在刚进入公司的时候,根据公司产品做流程图的时候,发现自己经常会漏了这样或那样的状态,导致整体流程会有问题,后来知道了状态机这样的东西,发现用这幅图就可以很清…

java中如何自定义一个注解

1.创建一个 Annotation 类型的类 2.Target:指该注解的作用目标 3.Retention:指注解的保留策略 4.Inherited:指该注解是否可被继承

[转]提升“专注力”的10个策略

导读:看着案头上"未完成的事",为了逃避,我们会拖延和有意地将注意力分散到不重要的事情上去,那样做会给我们带来些许即时的满足感。等待我们的,却是深深的焦虑、自责。 一、我的故事 在我最近发现自己办事成…

yaml文件 .yml

YAML文件简介 我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟。 YAML(Yet Another Markup Language)(发音 /ˈjməl/ &…

python数据合并_如何使用python进行数据表的合并

案例背景假设我们的文件是放在G盘 python文件夹下单的projectFile文件夹中,具体的情况需根据读者文件位置进行设置 我们需要将下面两个文件,合并在一起Python学习交流群:1004391443 合并前,data_1.csv的数据合并前,dat…

idea 启动web项目报错 Can't load IA 64-bit .dll on a AMD 64-bit platform

网上解决办法基本一致认为: 如果上述办法没有解决你的问题,不妨试试下面这个办法。 -Xms512m -Xmx512m -XX:MaxNewSize1024m -XX:MaxPermSize1024m

cesium鼠标左键获取经纬度_Qt编写地图综合应用17-地址经纬度互转

一、前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐标了&#x…

BDF开发框架的搭建(摘)

原文来自:http://blog.csdn.net/wang102010/article/details/7286087 了解更多可以访问:http://bsdn.org/projects/bdf 提前拿到了bdf的源代码.顺手搭建了下开发环境.由于想在上面做商业开发,所以不得不把它的源代码解压出来搭建开发环境. 设计考虑以下几…