~~~
var BrowserInfo = {
userAgent: navigator.userAgent.toLowerCase()
isAndroid: Boolean(navigator.userAgent.match(/android/ig)),
isIphone: Boolean(navigator.userAgent.match(/iphone|ipod/ig)),
isIpad: Boolean(navigator.userAgent.match(/ipad/ig)),
isWeixin: Boolean(navigator.userAgent.match(/MicroMessenger/ig)),
}
~~~
~~~
/**
* 判断是否移动设备
*/
function isMobile() {
if (typeof this._isMobile === 'boolean') {
return this._isMobile;
}
var screenWidth = this.getScreenWidth();
var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport
|| rendererModel.runningExperiments.fixviewport;
var fixViewPortsExperimentRunning = fixViewPortsExperiment
&& (fixViewPortsExperiment.toLowerCase() === "new");
if (!fixViewPortsExperiment) {
if (!this.isAppleMobileDevice()) {
screenWidth = screenWidth / window.devicePixelRatio;
}
}
var isMobileScreenSize = screenWidth < 600;
var isMobileUserAgent = false;
this._isMobile = isMobileScreenSize && this.isTouchScreen();
return this._isMobile;
}
~~~
~~~
/**
* 判断是否移动设备访问
*/
function isMobileUserAgent() {
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i
.test(window.navigator.userAgent.toLowerCase()));
}
~~~
~~~
/**
* 判断是否苹果移动设备访问
*/
function isAppleMobileDevice() {
return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent
.toLowerCase()));
}
~~~
~~~
/**
* 判断是否安卓移动设备访问
*/
function isAndroidMobileDevice() {
return (/android/i.test(navigator.userAgent.toLowerCase()));
}
~~~
~~~
/**
* 判断是否Touch屏幕
*/
function isTouchScreen() {
return (('ontouchstart' in window) || window.DocumentTouch
&& document instanceof DocumentTouch);
}
~~~
~~~
/**
* 判断是否在安卓上的谷歌浏览器
*/
function isNewChromeOnAndroid() {
if (this.isAndroidMobileDevice()) {
var userAgent = navigator.userAgent.toLowerCase();
if ((/chrome/i.test(userAgent))) {
var parts = userAgent.split('chrome/');
var fullVersionString = parts[1].split(" ")[0];
var versionString = fullVersionString.split('.')[0];
var version = parseInt(versionString);
if (version >= 27) {
return true;
}
}
}
return false;
}
~~~
- 代码规范
- 编程规范(psr-1,2)
- 编程规范(原作者的建议)
- JS篇
- 正则校验
- 检测密码强度
- 常用方法
- 页面下载文件
- 手机类型判断
- 字符串截取方法
- 全选/全不选
- js 判断浏览器
- JS判断两个日期大小
- JS 执行计时器
- 回车提交
- 阻止冒泡
- js每3位用逗号隔开的形式
- JS跟APP端交互
- 常用的工具类
- PHP地理位置计算
- 百度地图两点坐标距离计算
- 生成唯一ID
- 身份证验证类
- 阿拉伯数字转化为大写
- 获取汉字首个拼音
- PHP中文转拼音
- Rand类库
- PHP Date()函数详细参数
- 时间
- PHP每3位用逗号隔开的形式
- Elasticsearch全文搜索引擎
- 全文搜索引擎 Elasticsearch
- 设计模式
- 单例模式
- 依赖注入VS控制反转
- 工厂模式
- Gitlab
- git常用命令
- PHPStorm关联gitlab
- Thinkphp5
- 工具类
- 扩展
- think-queue——ThinkPHP队列扩展
- qr-code——好用的二维码生成类库
- ThinkPHP5 社会化登录组件
- PHP SDK——助力支付宝小程序后端开发
- tp5.0使用predis访问redis集群
- tp5+swoole
- 网络知识
- HTTP知识
- 小程序
- 知识推荐