- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用JavaScript检测浏览器的相关特性
使用JavaScript检测浏览器的相关特性一、检测浏览器的名称问题:??? 不同的浏览器对javascript的标准支持也有不同,有时希望脚本能够在不同的浏览器上都能运行良好,这时需要对浏览器进行检测,确定其名称,以针对不同的浏览器编写相应的脚本。解决方案:??? 使用navigator对象的appName属性。??? 比如,要检测浏览器是否为IE,可以这么做:??? var isIE = (navigator.appName == Microsoft Internet Explorer);??? document.write(is IE? + isIE);??? 对于FireFox,navigator对象的appName属性值为Netscape;Opera9.02的appName属性值为Opera(其更早版本可能不同);
二、检测浏览器的版本号:问题:??? 随着浏览器的版本的更迭,浏览器所支持的脚本特性也在变化,有时候就需要针对不同的版本编写相应的脚本,那么如何获得浏览器的版本号?解决方案:??? 通过解析navigator对象的userAgent属性来获得浏览器的完整版本号。??? IE将自己标识为MSIE,后面带一个空格,版本号以及分号。所以我们只要取空格和分号之间的部分即可。如Windows XP SP2所带的IE的userAgent属性值为Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727),可以看到其版本为6.0。可以用如下的函数来获取IE浏览器的版本号:??? function getIEVersonNumber()??? {??????? var ua = navigator.userAgent;??????? var msieOffset = ua.indexOf(MSIE );??????? if(msieOffset 0)??????? {??????????? return 0;??????? }??????? return parseFloat(ua.substring(msieOffset + 5, ua.indexOf(;, msieOffset)));??? }假设我们要为IE5及以上版本编写脚本,可以这么写:??? var isIE5Min = (getIEVersonNumber() = 5);??? if(isIE5Min)??? {??????? // perform statements for IE 5 or later??? }??? 对于FireFox和Opera等浏览器,也可以用navigator.userAgent属性来获取其版本号,只不过其形式与IE有所不同,如FireFox:??? Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) GeckoFirefox/1.5.0.7??? Opera:Opera/9.02 (Windows NT 5.1; U; en)根据这些形式,我们不难获得其版本号。但这些浏览器的其它版本没有测试过,其具体值不明确,如果要使用这种方法检测,请自行验证。
??? 下面讨论下,上面的那段为IE5及以上版本浏览器编写的脚本,使用这种写法要注意:要用=而不是==,一般情况下,我们可以假定浏览器是向后兼容的,所以使用==显然不能适应新版本;另一方面,我们上面的假定也仅仅是假定,不能确保是这样,如果浏览器的某些对象或属性不能向后兼容,我们的代码也会产生问题,所以建议,少用浏览器版本的比较,更多情况下,应检测是要用的对象或属性是否得到支持。
三、检测客户端的操作系统类型根据上面的讨论可以看到,navigator.userAgent属性通常含有操作系统的基本信息,但很不幸,没有统一的规则去根据userAgent获取准确的操作系统信息,因为这些值与浏览器的种类、浏览器的版本甚至浏览器的OEM版本都有关系。通常我们能做的是,检测一些更为通用的信息,比如操作系统是Windows还是Mac,而不是去看是Windows 98还是Windows XP。其规则是所有的Windows版本都会含有Win,所有的Macintosh版本都含有Mac,所有的Unix则含有X11,而在Linux下则同时包含X11和Linux。如:??? var isWin = (navigator.userAgent.indexOf(Win) != -1);??? var isMac = (navigat
您可能关注的文档
- 丰田特锐维修手册 科学记数法.ppt
- 丰田混合动力汽车技术 汽车技术部培训资料.pdf
- 串行口的控制.ppt
- 丰田特锐维修手册 《从自然数到有理数》复习课(用).ppt
- 临床医师 体格检查考核方案及评分标准.doc
- 临床抗菌药物的监控和管理.pdf
- 临时用电施工组织设计 XX变电站电力隧道工程.pdf
- 主要方案7 - Annual report-2004 ....pdf
- 主报告:中职数学“乐趣教学法”理论研究与实践探索(之二).doc
- 九寨山庄管理建议.doc
- 使用车床加工含螺纹零件.ppt-学习情景8使用车床加工含螺纹零件.ppt
- 供应链物流管理 课件 Lecture 01 Introduction.ppt
- 供应链物流管理 课件 Lecture 04 Supply Logistics.ppt
- 供应链物流管理 课件 Lecture 12 Global Logistics.ppt
- 供应链物流管理 课件 Lecture 11 Logistics Information Technology1.ppt
- 依案谈器械稽查方法.ppt
- 便利店员工培训 面销技巧.ppt
- 供热经营管理系统介绍.doc
- 便携式车道控制器使用指南 (NXPowerLite).doc
- 促销 销售环节的控制.ppt
最近下载
- 2025年【全国】汉字听写大会竞赛考试题(含答案).docx VIP
- 新高三第一次班主任会议,校长讲话:凝心聚力战高三,担当使命育栋梁.docx
- 《化学抛光和电解抛光》.ppt VIP
- 校园内施工安全教育课件.pptx VIP
- 某某村党群服务中心项目可行性研究报告.doc VIP
- 2023年电动自行车换电站相关项目可行性研究报告.docx VIP
- Q-CR 517.2-2023铁路工程喷膜防水材料 第2部分:喷涂橡胶沥青(OCR).pdf
- (王红)《遣戍伊犁日记》《叶柝纪程》录文.doc VIP
- 一种用硅藻土助滤剂废弃物制备纳米白炭黑的方法.pdf VIP
- 数字化转型之数据治理解决方案.pdf VIP
文档评论(0)