浏览器兼容性问题

浏览器兼容性问题

1、ajax xmlhttprequest对象获得

IE下获得是:

用 ActiveXObject("Microsoft.XMLHTTP")的方法获得;
示例:var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

其余获得方法:

用 XMLHttpRequest()的方法获得;
示例 var xmlhttp = new XMLHttpRequest();

兼容函数:

function getXMLhttpRequest() {
    var xmlhttp = null;
    if (document.all) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

2、绑定事件

IE下的绑定方法是:

用 obj.attachEvent()方法;

其余绑定事件的方法是:

用 obj.addEventListener()方法;

于是,可以写一个兼容函数:

function setEvent(obj, eventname, functionname) {
    if (document.all) {
        return obj.attachEvent("on" + eventname, functionname);
    } else {
        return obj.addEventListener(eventname, functionname, false);
    }
}

3、event对象的获得

4、CSS样式的获取

IE下获取:

用 obj.currentStyle[attr]的方法;

其余获取方法:

用 getComputedStyle(obj, false)[attr];

兼容函数:

    function getStyleTwo(obj, attr) {
        return obj.currenStyle ? obj.currentStyle[attr] : getComputedStyle(obj, false)[attr];
    }

5、不同浏览器的标签默认的外补丁和内补丁不同

  问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。

  碰到频率:100%

  解决方案:CSS里 * 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

6、块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大

示例代码:

<div id="first"></div>
  #first{
            background-color: red;
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 100px;
        }

在IE和其余浏览器下会有不同的效果;
解决方案:在margin-left:100px;后面加 display: inline;

7、设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度

  问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度

  碰到频率:60%

  解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
示例代码:

   #first{
            background-color: red;
            width: 200px;
            height: 10px;
        }

<div id="first"></div>

解决方案:在样式里面加上 overflow: hidden;的代码

8、几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。

解决方案:使用float属性为img布局

演示代码:

<img src="images/20664369-1_b.jpg"  class="img">
<img src="images/20670230-1_b.jpg"  class="img">
<img src="images/20679764-1_b.jpg"  class="img">

 .img{
            background-color: red;
            float: left;
        }

9、ie6 不支持 fixed 这个东西,所以我们的该怎么做呢?

解决方案:可以用JS代码来固定其位置;

10、关于手形光标. cursor: pointer. 而hand 只适用于 IE.

11、浮动ie产生的双倍距离

示例代码:

#box{ width: 200px;
        height: 200px;
            background-color: red;
            float:left; width:100px; margin:0 0 0 100px;}

<div id="box"></div>

解决方案:解决方案:display: inline---/使浮动忽略

ie7,ie8,firefox,chrome等高端浏览器下,已经可以识别 !important属性,但是Ie6是不行的

演示代码:

  #colortest
        {border:20px solid #60A179 !important;
            border:20px solid #00F;
            padding: 30px;
            width : 300px;}

<div id="colortest"></div>

这里有个新的东西if ie可以判断当前浏览器是否为ie浏览器

示例代码:

  <style type="text/css">
        #colortest
        {width: 100px;height: 100px;background-color: red}
    </style>
    <!--[if IE]>
    <style type="text/css">
        #colortest
        {width: 100px;height: 100px;background-color: blue}
    </style>
    <![endif]-->

<div id="colortest"></div>
时间: 2024-10-01 19:51:05

浏览器兼容性问题的相关文章

常见浏览器兼容性问题与解决方案【转】

常见浏览器兼容性问题与解决方案 原文:http://blog.csdn.net/chuyuqing/article/details/37561313/ 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按

网页页面NULL值对浏览器兼容性的影响

网页页面NULL值对浏览器兼容性的影响       近期做项目中一个页面中的input radio出现浏览器兼容性问题. 主要问题: 在谷歌浏览器,360急速模式和搜狗急速模式中给radio初始动态赋值时.checked属性失效,无法选中.注:360急速模式和搜狗急速模式使用了谷歌chorme的内核(又称webkit内核). 在火狐浏览器中给radio初始动态赋值时,checked属性正常选中. 本来同事以为是浏览器兼容问题,始终未能解决这个问题.后来这个Bug交由我来改动. 初始接到任务时,也

常见几种浏览器兼容性问题与解决方案

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类: 是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏

CSS---解决浏览器兼容性

<html> <head> <title></title> <style type="text/css"> *{ padding: 0; margin:0; } .line{ display: inline-block; width: 40px; border-top: 1px solid #f00; vertical-align: middle; *margin-top: 12px; } .txt{ font-size: 2

IE浏览器兼容性模式

最近支持公司的一个内部业务管理系统,系统是基于jQuery来实现:用了2年的MVVM框架的我转向这个完全使用jQuery框架来开发的系统,真是相当不爽(相信用过MVVM框架的跟我是相同的感受):更为憋屈的是,到了这个年代,IE的亲爹微软都放弃支持IE6-10了,系统尽然还只支持使用IE浏览器(运营电脑安装都是IE8浏览器,所以大部分只管IE8),其他高级浏览器不被支持(当然这是由于系统使用了基于IE的一些插件导致). 但是话又说回来,但是在支持系统的开发过程中,经常看到X-UA-Compatib

常见浏览器兼容性问题与解决方案

1 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 2 3 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 4 5 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这

CSS 多浏览器兼容性问题及解决方案

css的兼容性也是大家关注的热点.大家一定要注意多测试. Javascript 多浏览器兼容性问题及解决方案 兼容性处理要点1.DOCTYPE 影响 CSS 处理 2.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 3.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式 4.div 的垂直居中问题: vertical-

浏览器兼容性:Javascript

1.event IE9以下不支持直接获取event对象,所以需要写兼容: var event = event?event:window.event; IE8以下不支持event.target,但是可以通过event.srcElement来兼容: var eventTarget = event.srcElement?event.srcElement:event.target; 2.document.getElementsByClassName("...") IE8以下不支持,暂时没有解决

浏览器兼容性问题解决方案之CSS,已在IE、FF、Chrome测试

当前主浏览器的核心是什么? 1) Trident:IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7.Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如 Maxthon.TheWorld .TT.GreenBrowser.AvantBrowser等). 2) Geckos: Netcape6开始采用的内核,后来的FF也采用了该内核,Geckos的特点是

浏览器兼容性问题(待更新)

1.对于不支持渐变的浏览器,可以添加浏览器前缀来适应渐变效果 浏览器前缀: Firefox :-moz- Chrome & Safari :-webkit- Opera : -o- IE : -ms- 2.如果浏览器不支持属性的话,前缀则加载属性名称前 ex: animation : css3中做动画的属性 -moz-aniamtion:值;/*火狐*/ -webkit-animation:值;/*Chrome&Safari*/ -o-aniamtion:值;/*Opera*/ 3.如果浏