JS兼容性处理
- 百度 - 终端适配API
适合服务器端使用。POST客户端传递的http头信息越多,得到的适配信息越准确。百度返回的数据为:
正确情况:
{
device_type :/*1:手机2:pc*/
os:/*操作系统*/
os_version:/*操作系统版本*/
browser:/*浏览器*/
browser_version:/*浏览器版本*/
model:/*机型*/
vendor:/*厂商*/
tn: /*wml|middle|touch|utouch|iphone*/
}服务器端代码可根据返回的值,来进行自定义判断,该给客户端返回何种数据。
为防止过度依赖百度判断,可本地缓存每次客户端请求头数据,和百度返回的值,建立一个KEY、VALUE表,则某种类型客户端只要请求一次百度,本地自己的服务器即可自己判断了。 一段巧妙判断IE浏览器版本的js代码
只有一行代码,只针对IE起作用,而且考虑了IE用户自选渲染模式、怪癖模式、支持IE5、6、7、8、9及10。
<html>
<script>
var isIE=false;
/*@cc_on isIE=(document.documentMode||( document.compatMode == "CSS1Compat" ? "XMLHttpRequest" in window ? @_jscript_version*10-50 : 6 : 5)) @*/
alert(isIE);//非IE弹出False,IE则弹出5到10版本值
</script>
</html>最短判断是否IE的代码:
if(-[1,]){
alert("非IE");
}else{
alert("IE");
}经过测试:IE9、IE10弹出“非IE”。
- 实际编码中,更多的将是采用“对象/特征”来判断浏览器能力的方式。
//添加事件工具函数
function addEvent(el,type,handle){
if(el.addEventListener){//for standard browses
el.addEventListener(type,handle,false);
}else if(el.attachEvent){//for IE
el.attachEvent("on"+event,handle);
}else{//other
el["on"+type]=handle;
}
}
JS兼容性处理的更多相关文章
- IE 和Firefox的js兼容性总结
IE 和Firefox的js兼容性总结 12 August 2010 11:39 Thursday by 小屋 标签: 浏览器 方法 属性 IT 写法 一.函数和方法差异 1 . getYear()方 ...
- webpack 之js兼容性处理
webpack 之js兼容性处理 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = require( ...
- js兼容性问题总结
JS中出现的兼容性问题的总结1.关于获取行外样式 currentStyle 和 getComputedStyle 出现的兼容性问题 我们都知道js通过style不可以获取行外样式,当我们需要获取行外 ...
- js兼容性记录
做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了, ...
- ff与ie 的关于js兼容性
FF的FIREBUG,不仅能测试JS还能检查CSS错误,是一般常用的.但它主要检查FF方面的错误,对IE就无能为力了.要测试IE,就用ieTester,它可以测试IE几乎所有版本(1.0恐怕也用不到测 ...
- JS兼容性问题列表
记录平时遇见的兼容性问题,有更好的解决办法希望各位提出,会随着开发遇到问题而更新,标记为黄色的为未解决和猜测答案 提出时间 问题描述 解决方案 2014/10/22 submit按钮阻止了默认事件不能 ...
- js兼容性大全
js有个第二定律好的属性/选择器一定不兼容/* 获取类名通用代码*/function getClassName(){ if(document.getElementsByClassName){ doso ...
- js兼容性问题
javscript 浏览器兼容性问题: scrollTop = document.documentElement.scrollTop || document.body.scrollTop; scrol ...
- JS兼容性问题(FF与IE)
不同浏览器中js兼容问题大全 1.document.formName.item('itemName')问题 说明: //IE下(两种) document.formName.item("ite ...
随机推荐
- multimap和multiset 认知和使用
之前只是在C++ Primer里面看过关联容器,可能因为没有实际用过,只是看看,所以导致用的时候并不熟悉: 在这之前,map和set的特性应该要了解,map是关联数组,也就是由键值对组成的,而set只 ...
- hdu 4681
将c串从a,b串中删去后求最长公子列 直接暴会超时 #include <cstdio> #include <cstdlib> #include <algorithm&g ...
- sequel 连接不上,命令行能连上
Sequel pro won't connect anymore I'm running into some trouble right now. I worked yesterday on my d ...
- java基本对象Integer,String比较相等及equal案例说明
Integer i = new Integer(100); Integer i2 = new Integer(100); if(i == i2){ System.out.println("A ...
- Spark 1.60的executor schedule
第一次看源码还是Spark 1.02.这次看新源码发现调度方式有了一些新的特征,在这里随便写一下. 不变的是,master还是接收Appclient和worker的消息,并且在接收RegisterAp ...
- DIY Ruby CPU 分析——Part III
[编者按]作者 Emil Soman,Rubyist,除此之外竟然同时也是艺术家,吉他手,Garden City RubyConf 组织者.本文是 DIY Ruby CPU Profiling 的第二 ...
- SaaS系列介绍之四:我国SaaS市场发展
1 引言 那些没有经验的问题解决者们,几乎无一例外,都是去匆忙地寻找解决办法,而不是先给要解决的问题下定义. ...
- P143、面试题25:二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.二叉树结点的定义如下:struct BinaryTreeNode ...
- 宏ut_2pow_remainder
求余数 12%8=4 n%m也能计算出余数,但效率可能比位操作要低一些 /*************************************************************// ...
- php discuz框架接口不能正常访问的问题
本人php小白,无php编程基础,直接上php服务器部署,后果很严重.....所以务必看完请给”顶“给评论,以表示对小白的鼓励和赞赏! 关于discuz框架,独自加班,废寝忘食,然已无力吐槽..... ...