javascript宿主对象之window.navigator详解
window.navigator用来反映浏览器及其功能信息的对象。
// 检测浏览器版本信息 function getBrowserInfo(){ var Sys = {}; var ua = window.navigator.userAgent.toLowerCase(); var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; var m = ua.match(re); Sys.browser = m[1].replace(/version/, "'safari"); Sys.ver = m[2]; return Sys; } var BomInfo = getBrowserInfo; console.log(BomInfo ());
如何判断是不是ie呢?
var navigatorName = "Microsoft Internet Explorer"; var isIE = false; if( window.navigator.appName == navigatorName ){ isIE = true; alert("ie") }else{ alert("not ie") }
还有一种方法:
if(window.addEventListener){ alert("not ie"); }else if(window.attachEvent){ alert("is ie"); }else{ alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)") }
判断设备类型:
function browerType() { var sUserAgent = navigator.userAgent.toLowerCase(); //浏览器的用户代理设置为小写,再进行匹配 var isIpad = sUserAgent.match(/ipad/i) == "ipad"; //或者利用indexOf方法来匹配 var isIphoneOs = sUserAgent.match(/iphone os/i) == "iphone"; var isMidp = sUserAgent.match(/midp/i) == "midp"; //移动信息设备描述MIDP是一套Java应用编程接口,多适用于塞班系统 var isUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; //CVS标签 var isUc = sUserAgent.match(/ucweb/i) == "ucweb"; var isAndroid = sUserAgent.match(/android/i) == "android"; var isCe = sUserAgent.match(/windows ce/i) == "windows ce"; var isWM = sUserAgent.match(/windows mobil/i) == "windows mobil"; if (isIpad || isIphoneOs || isMidp || isUc7 || isUc || isAndroid || isCe || isWM) { alert('该设备为移动设备'); // 做某些事情 } else { alert('该设备为PC设备'); // 做某些事情 } } browerType();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
BOM之navigator对象和用户代理检测
前面的话 navigator对象现在已经成为识别客户端浏览器的事实标准,navigator对象是所有支持javascript的浏览器所共有的.本文将详细介绍navigator对象和用户代理检测 属性 与其他BOM对象的情况一样,每个浏览器中的navigator对象也都有一套自己的属性.下表列出了存在于所有浏览器中的属性和方法,以及支持它们的浏览器版本 属性 说明 appCodeName
-
微信小程序 wxapp导航 navigator详解
微信小程序 wxapp导航 navigator 最近微信小程序非常火,朋友圈,微博,论坛等地方都在刷屏,因为这是搞前端的春天,前端工程师可以赚一把了,所以业余就学习了微信小程序的知识,这里记录下 : navigator 属性名 类型 默认值 说明 url String 应用内的跳转链接 redirect Boolean false 是否关闭当前页面 hover-class String navigator-hover 指定点击时的样式类,当hover-class="none"时,没
-
微信小程序 navigator 组件实例详解
navigator跳转分为两个状态一种是关闭当前页面一种是不关闭当前页面.用redirect属性指定. 主要属性: wxml <navigator url="../index/index">点击跳转不关闭当前页面</navigator> <navigator url="../logs/logs" redirect="true" >点击跳转关闭当前页面</navigator> 相关文章: hello
-
JS判断浏览器之Navigator对象
The Navigator Object 导航对象 The JavaScript Navigator object contains all information about the visitor's browser. We are going to look at two properties of the Navigator object: JS导航对象包含所有有关访问这者浏览器的信息.我们将看看两个导航对象的产物: appName - holds the name of the br
-
javascript通过navigator.userAgent识别各种浏览器
原理:根据navigator.userAgent返回值识别 实现: 复制代码 代码如下: function validBrowser(){ var u_agent = navigator.userAgent; var browser_name='Failed to identify the browser'; if(u_agent.indexOf('Firefox')>-1){ browser_name='Firefox'; }else if(u_agent.indexOf('Chrome')>
-
JavaScript中的Navigator浏览器对象
navigator 浏览器对象,包含了正在使用的 Navigator 的版本信息.反映了当前使用的浏览器的资料.JavaScript 客户端运行时刻引擎自动创建 navigator 对象. 更详细的信息可以去查msdn或者Navigator 2.0以后的说明文档,这里我们之做个简单的说明 包括一下几大属性: appCodeName 返回浏览器的"码名"(?),流行的 IE 和 NN 都返回 'Mozilla'. 下面的例子显示了 appCodeName 属性的值: document.w
-
javascript学习随笔(编写浏览器脚本 Navigator Scripting )
在 HTML 中使用JavaScript JavaScript能以两种方式嵌入HTML: 作为语句和函数使用时,用 SCRIPT 标记 作为事件处理程序使用时,用 HTML 标记 SCRIPT 标记 使用SCRIPT标记把脚本嵌入在HTML中,格式如舷: <SCRIPT> _ JavaScript 语句</SCRIPT> LANGUAGE属性作为可选项,用于指定脚本语言,用法如下: <SCRIPT LANGUAGE="JavaScript"> _Ja
-
Flex中TabNavigator设置Tabs样式思路及源码
1.设计思路 (1)设计一个TabNavigator,其中包含两个Tabs: (2)设置Tabs样式 2.设计源码 Tabs.mxml: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex
-
javascript宿主对象之window.navigator详解
window.navigator用来反映浏览器及其功能信息的对象. // 检测浏览器版本信息 function getBrowserInfo(){ var Sys = {}; var ua = window.navigator.userAgent.toLowerCase(); var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; var m = ua.match(re); Sys.browser = m[1].replace(/ver
-
JavaScript Blob对象原理及用法详解
Blob是JavaScript内建对象,表示不可变的原始数据,类似文件的对象. blob是表示原始数据的不可变对象,这些数据不一定是JavaScript原生格式的,文件接口基于Blob,继承Blob功能并将其扩展为支持用户系统上的文件. Blob有很多用途: 可以从网络的内容创建. 可以保存到磁盘或从磁盘读取. 例如,它们是FileReader API中使用的File的基础数据结构. 我们可以使用 Blob() 构造函数从其他非blob对象和数据构造Blob. Blob构造函数 Blob构造函数
-
JavaScript浏览器对象之一Window对象详解
JavaScript提供了一组以window为核心的对象,实现了对浏览器窗口的访问控制.JavaScript中定义了6种重要的对象: window对象 表示浏览器中打开的窗口: document对象 表示浏览器中加载页面的文档对象: location对象包含了浏览器当前的URL信息: navigation对象 包含了浏览器本身的信息: screen对象 包含了客户端屏幕及渲染能力的信息: history对象 包含了浏览器访问网页的历史信息. 除了window对象之外,其他的5个对象都是windo
-
JavaScript中Number对象的toFixed() 方法详解
定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 num 必需.规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围.如果省略了该参数,将用 0 代替. 返回值 返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字.如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度.如果 num 大于 l
-
JavaScript对象原型链原理详解
这篇文章主要介绍了JavaScript对象原型链原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一个js对象,除了自己设置的属性外,还会自动生成proto.class.extensible属性,其中,proto属性指向对象的原型. 对象的属性也有writable.enumerable.configurable.value和get/set的配置方法. 对象的创建方式有三种: 一.使用字面量直接创建. 二.基于原型链创建. 分析上图,要点如
-
JavaScript数组及非数组对象的深浅克隆详解原理
目录 什么是浅克隆.深克隆 1.对数组进行克隆 1.1 浅克隆 1.2 深克隆 2.对非数组对象进行克隆 2.1 浅克隆 2.2 深克隆 3.整合深克隆函数 什么是浅克隆.深克隆 浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址. 深克隆:将数据赋值给对应的变量,从而产生一个与源数据不相干的新数据(数据地址已变化).即对象各个层级的属性. JavaScript中基本数据类型使用符号"="可以进行克隆,引用数据类型使用符号
-
实现JavaScript的组成----BOM和DOM详解
我们知道,一个完整的JavaScript的实现,需要由三部分组成:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型). 今天主要学习BOM和DOM. BOM: BOM提供了很多对象,用来访问浏览器的功能,这些功能于网页内容无关(这些是DOM的事),目前,BOM已经被W3C搬入了HTML5规范中. window对象: BOM的core,表示浏览器的一个实例,它既是通过javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象,这意味着在
-
javascript 作用于作用域链的详解
javascript 作用于作用域链的详解 一.JavaScript作用域 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.在JavaScript中,变量的作用域有全局作用域和局部作用域两种. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说一下几种情形拥有全局作用域: (1)最外层函数和在最外层函数外面定义的变量拥有全局作用域, 例如: var authorName="Bu
-
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.很早就接触过闭包这个概念了,但是一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什么,有什么用,今天在网上看到了一篇讲JavaScript闭包的文章(原文链接),讲得非常好,这下算是彻底明白了JavaScript的闭包到底是个神马东东以及闭包的用途了,在此写出来和大家分享一下,希望不理解JavaScript闭包的朋友们看了之后能够理解闭包!以下内容大部分是来自原文,我在原文的基础
-
JavaScript 中this指向问题案例详解
总结 全局环境 ➡️ window 普通函数 ➡️ window 或 undefined 构造函数 ➡️ 构造出来的实例 箭头函数 ➡️ 定义时外层作用域中的 this 对象的方法 ➡️ 该对象 call().apply().bind() ➡️ 第一个参数 全局环境 无论是否在严格模式下,this 均指向 window 对象. console.log(this === window) // true // 严格模式 'use strict' console.log(this === window
随机推荐
- python 简单备份文件脚本v1.0的实例
- PHP+AJAX实现无刷新注册(带用户名实时检测)
- SWT(JFace) 打印功能
- JSP由浅入深(8)—— JSP Tags
- js活用事件触发对象动作
- Java关键字final、static使用总结
- IOS 开发之swift中手势的实例详解
- Oracle 9i轻松取得建表和索引的DDL语句
- python根据出生日期获得年龄的方法
- PHP设计模式之工厂模式与单例模式
- PHP面向对象程序设计类的定义与用法简单示例
- jsp 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- [分享]一个非常漂亮的进度滚动条
- Python使用Flask框架同时上传多个文件的方法
- 在IE与FF中如何居中的css写法
- js如何获取兄弟、父类等节点
- 浅谈JS如何实现真正的对象常量
- 修复断电等损坏的SQL 数据库
- 深入探究TimSort对归并排序算法的优化及Java实现
- PHP初学者常见问题集合 修正版(21问答)