ie兼容性问题(持续更新)
来源:互联网 发布:c语言void和int 编辑:程序博客网 时间:2024/06/06 02:07
ie 6 7 JSON 兼容
1、使用jqeury的JSON方法
$.parseJson(json)
2、eval方法
var jsons = req.responseText; var s; if (typeof(JSON) == 'undefined'){ s = eval("("+jsons+")"); }else{ s = JSON.parse(jsons); }
此方法有个小问题,就是会执行里面的js代码
3、引用json.js
<script type="text/JavaScript" src="js/json2.js"></script>
json.js
IE6、IE7兼容querySelectorAll和querySelector方法
if (!document.querySelectorAll) { document.querySelectorAll = function (selectors) { var style = document.createElement('style'), elements = [], element; document.documentElement.firstChild.appendChild(style); document._qsa = []; style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; window.scrollBy(0, 0); style.parentNode.removeChild(style); while (document._qsa.length) { element = document._qsa.shift(); element.style.removeAttribute('x-qsa'); elements.push(element); } document._qsa = null; return elements; };}if (!document.querySelector) { document.querySelector = function (selectors) { var elements = document.querySelectorAll(selectors); return (elements.length) ? elements[0] : null; };}
当querySelector和querySelectorAll在ie6 7 下未定义的情况,直接重新定义querySelector和querySelectorAll。
兼容ie8 下拉框val()方法
在ie8以上$(“XXX”).val()方法获取的是选中的value,而当ie8及以下的时候获取的是一个数组,$(“XXX”).val()[0]才能获取正确的值。
var clsCodeValue = "";clsCodeValue = $("#clsCode").val();clsCodeValue = typeof clsCodeValue == "object" ? clsCodeValue[0] : clsCodeValue;clsCodeValue = $.trim(clsCodeValue);
如果clsCodeValue是数组的话,clsCodeValue的值为clsCodeValue[0]
如果clsCodeValue不是数组的话,clsCodeValue不变
获取浏览器类型的方法
var myBrowser = function() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 alert(userAgent); var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器 var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器 if(isIE) { var IE5 = IE55 = IE6 = IE7 = IE8 = false; var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); IE55 = fIEVersion == 5.5; IE6 = fIEVersion == 6.0; IE7 = fIEVersion == 7.0; IE8 = fIEVersion == 8.0; if(IE55) { return "IE55"; } if(IE6) { return "IE6"; } if(IE7) { return "IE7"; } if(IE8) { return "IE8"; } } //isIE end if(isFF) { return "FF"; } if(isOpera) { return "Opera"; }}var myBrowser = myBrowser(); if(myBrowser == "FF") { alert("我是 Firefox");}if(myBrowser == "Opera") { alert("我是 Opera");}if(myBrowser == "Safari") { alert("我是 Safari");}if(myBrowser == "IE55") { alert("我是 IE5.5");}if(myBrowser == "IE6") { alert("我是 IE6");}if(myBrowser == "IE7") { alert("我是 IE7");}if(myBrowser == "IE8") { alert("我是 IE8");}
var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFirefox = /(firefox)\/([\w.]+)/, rOpera = /(opera).+version\/([\w.]+)/, rChrome = /(chrome)\/([\w.]+)/, rSafari = /version\/([\w.]+).*(safari)/; var browser; var version; var ua = userAgent.toLowerCase(); function uaMatch(ua) { var match = rMsie.exec(ua); if(match != null) { return { browser: "IE", version: match[2] || "0" }; } var match = rFirefox.exec(ua); if(match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rOpera.exec(ua); if(match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rChrome.exec(ua); if(match != null) { return { browser: match[1] || "", version: match[2] || "0" }; } var match = rSafari.exec(ua); if(match != null) { return { browser: match[2] || "", version: match[1] || "0" }; } if(match != null) { return { browser: "", version: "0" }; } } var browserMatch = uaMatch(userAgent.toLowerCase()); if(browserMatch.browser) { browser = browserMatch.browser; version = browserMatch.version; } alert(browser + version)
datase兼容性问题
var script = document.createElement('script');if (script.dataset){ script.dataset.aaBb = 'loading';} else { script.setAttribute('data-aa-bb','loading');}//注意使用dataset的时候是驼峰,用setAttribute的时候用-
阅读全文
0 0
- ie兼容性问题(持续更新)
- IE兼容性问题汇总【持续更新中】
- Javascript 兼容性问题(持续更新中)
- 兼容性问题解决方案汇总(持续更新,欢迎收藏!)
- 前端浏览器兼容性问题汇总,持续更新中。。。。
- JS兼容性问题总结(持续更新中)
- CSS总结及兼容性问题【笔记】【持续更新】
- 常见的css兼容性问题---持续更新!!
- IE和chrom兼容性分析(持续更新)
- ie兼容性问题
- IE兼容性问题
- IE兼容性问题
- IE兼容性问题
- IE兼容性问题
- IE 兼容性问题
- IE兼容性问题
- IE兼容性问题
- IE兼容性问题
- 测试用例设计方法
- python 编码问题 UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xb4 in position 0: invalid start byt
- HTML CSS 属性
- 万维链
- bigchaindb源码分析(九)——选举
- ie兼容性问题(持续更新)
- spring和springboot
- K
- 程序员如何增加收入?
- bigchaindb源码分析(十)——总结
- IE8异步上传附件
- Hadoop+zookeeper+hive高可用集群部署文档
- Maven项目的搭建过程+jetty
- Android 调试工具介绍