ie8兼容

最近在做ie8兼容,把遇到的问题整理了一下

1. margin:0 auto; 无法居中

解决方法:1.换成h4的文档类型 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2. body,设置text-aligin:center; 缺点,其他标签也会居中
3. 需要居中的元素设置一个宽度,
{position:relative;width:1000px;left:50%;margin-left:-500px}

2. console 现象:
2.1 数据不加载,f12调试之后会出数据,并且不会报错。
解决方法:干掉所有的console

2.2 console未定义
解决方法,拓展一个
window.console = window.console || (function(){
var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
= c.clear = c.exception = c.trace = c.assert = function(){};
return c;
})();

3. placeholder不生效
解决方法:进入 jquery.placeholder.min.js文件, $(‘input‘).placeholder();

4. border-radius 不生效
解决方法: 引入PIE.htc behavior:url(‘PIE.htc‘)

5. jquery load请求不回来数据 (跨域的情况下)
解决方法:使用ajax

6. IE8跨域的问题
jQuery.support.cors = true;

7. IE的解析方式,比较严格,所以记得闭合标签,标签符号
另外一句代码:在ajax请求的 header页面中。返回来之后会报语法错误,至于原因, I DON‘T KNOW.
var app_path="http://guiyang.scity.cn/portal";

8. CSS3的选择器不支持。
rem不支持。
背景颜色渐变不支持。

9. 不知道json,引入js文件 json2.js

10. ie8线上和线下的差异,多调试,反正我还没有找到规律。

可能原因:1.本地采用的是file协议,远程浏览是http协议,两个之间有区别。
2.文件编码问题,最好统一“<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />”

11. ajax请求回来的js文件
现象:1.要加载,不执行
2.只执行script便签里面的js代码,但是不执行script标签引入的js文件。

12.$(this).val() 获取回来有问题
解决方案: $("#id").val()

13. jquery的html()方法 和原生的innerHTML 属性的差异
1.在ie下的tbody的 tr,td的内容是只可读,html()采用了try catch的方法

IE不容易,且做且珍惜。

时间: 2024-10-12 17:13:09

ie8兼容的相关文章

IE8兼容placeholder的方案

用JavaScript解决Placeholder的IE8兼容问题 placeholder属性是HTML5新添加的属性,当input或者textarea设置了该属性后,该值的内容将作为灰色提示显示在文本框中,当文本框获得焦点时,提示文字消失,placeholder可作为输入框的提示文案 如图: placeholder是常用的属性,它使得input框内有很友好的提示效果.高版本浏览器都支持placeholder属性,但IE9以下版本的浏览器并不支持这一属性.这里用JavaScript实现添加对浏览器

1.12版jquery.validate IE8 兼容解决方案

搜索 formnovalidate 然后改成这种,也就是if中间注释 // allow suppressing validation by adding the html5 formnovalidate attribute to the submit button if ($(event.target).attr("formnovalidate") !== undefined) { //validator.cancelSubmit = true; } 搜索elements 大概500行

IE8兼容模式 出现问题

有一个可能是 你的JSON对象的字符串有问题例如 你在JS中写到 var json = { 'abc':0, 'def':"呵呵看右边", } 仔细看 呵呵 看右边 右边多了一个, 实际这个json 应该这么写 var json = { 'abc':0, 'def':"呵呵看右边" } 你多了一个, ie8兼容模式 就报错 在你的项目中 搜索 ,[\n\r\s]+?} 这个正则表达式  搜到的 都是问题

IE8兼容问题

setInterval 的用法如下: function func() { setInterval("alert()", 1000, this); // chrome 适用, 但不能传参数 setInterval("alert", 1000, this); // chrome.ie8 都不适用 setInterval(alert, 1000, this); // chrome 适用,可传参,ie8适用,不可传参 } IE8 用 setInterval 是不能正常工作的

IE8+兼容经验小结(转)

IE8+兼容经验小结 January 15, 2014 最近一段时间,我都使用Flask+Bootstrap3的框架组合进行开发.本文就是在这种技术组合下,分享IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK了(这里的IE8+主要是指IE8,据个人目测,IE9+的渲染效果已经非常好了). 前期准备 测试IE兼容性必须要在Windows中测,而且是Win7+,因为WinXP

ie8兼容background-size属性

满心欢喜地写代码,最后测试兼容性的时候发现Logo图片在IE8下特别大.明显是background-size在ie8一下不兼容. 我懂得,IE8还是个孩子,我就加几句你独有的代码让你兼容吧,司空见惯了: filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/logo.png', sizingMethod='scale'); 然后发现logo变得十分华丽(奥义·双重logo): 明显是ie8两种backgroun

IE8+兼容经验小结

最近一段时间,我都使用Flask+Bootstrap3的框架组合进行开发.本文就是在这种技术组合下,分享IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK了(这里的IE8+主要是指IE8,据个人目测,IE9+的渲染效果已经非常好了). 前期准备 测试IE兼容性必须要在Windows中测,而且是Win7+,因为WinXP最高只支持IE8,IE9就呵呵啦!大部分做Web的童鞋都

ie7、ie8兼容addEventListener和removeEventListener,解决this指向和detachEvent解除绑定事件问题

现代浏览器监听事件使用addEventListener函数,解除绑定监听使用removeEventListener函数.但是ie7.ie8监听事件使用attachEvent函数,解除监听事件使用detachEvent函数. 简单的兼容函数: 1 if(document.addEventListener){ 2 element.addEventListener(type, fun, useCapture); 3 }else{ 4 element.addEventListener("on"

:before添加图片,IE8兼容

这是项目开发中遇到的奇怪的小问题: 在IE8下出现按钮点击后消失了,鼠标点击页面后却又出现: 最初的代码:添加背景图片的方法,这样是存在兼容问题的. 更改后代码:content中添加图片,完美兼容IE8