毕业论文

当前位置: 毕业论文 > 范文 >

浏览器兼容性问题(2)

时间:2022-09-12 15:41来源:优尔论文
Firefox: event对象有target属性,但是没有srcElement属性。 解决办法:srcObj = event。srcElement?event。srcElement:event。target; 4。获取元素的非行间样式值 IE: dom。curr

Firefox: event对象有target属性,但是没有srcElement属性。

解决办法:srcObj = event。srcElement?event。srcElement:event。target;

4。获取元素的非行间样式值

IE: dom。currentStyle[‘width’] 获取元素高度

标准浏览器:window。getComputedStyle(obj, null)['width'];

// 获取元素属性值的兼容写法

  function getStyle(obj,attr){

      if(obj。currentStyle){

         //兼容IE

  obj。currentStyle[attr];

          return obj。currentStyle[attr];

      }else{

         //非IE,

  return window。getComputedStyle(obj, null)[attr];

     }

}

5。阻止事件冒泡传播

//js阻止事件传播,这里使用click事件为例

    document。οnclick=function(e){

        var e=e||window。event;

        if (e。stopPropagation) {

            e。stopPropagation();//W3C标准

        }else{

            e。cancelBubble=true;//IE。。。。  true:  不被上层元素的事件控制

        }

    }

6。阻止事件默认行为

//js阻止默认事件   一般阻止a链接href,form表单submit提交

    document。οnclick=function(e){

        var e=e||window。event;

        if (e。preventDefault) {

            e。preventDefault();//W3C标准

        }else{

            e。returnValue='false';//IE。。  false: 不会进行判断就直接执行下去

        }

    }

7。 ajax兼容问题

IE: ActiveXObject

其他: xmlHttpRequest

在IE6以前不是用XMLHttpRequest创建的,所以我们要兼容ie6以前的浏览器要判断他有没有XMLHttpRequest()

跨浏览器兼容解决方案:

<script>

window。onload = function(){

var oBtn = document。getElementById('btn');

oBtn。onclick = function(){

//1。创建ajax对象

//只支持非IE6浏览器

var oAjax = null;

if(window。XMLHttpRequest){

oAjax = new XMLHttpRequest();

//alert(new XMLHttpRequest());

}else{

//只支持IE6浏览器

oAjax = new ActiveXObject("Microsoft。XMLHTTP");

}

//2。连接服务器,这里加个时间参数,每次访问地址都不一样,浏览器就不用浏览器里的缓冲了,但

// 但服务器那端是不解析这个时间的

oAjax。open("get","a。txt?t=" + new Date()。getTime(),true);

//3。发送

oAjax。send(null);

//4。接受信息

oAjax。onreadystatechange = function(){

//浏览器与服务器之间的交互,进行到哪一步了,当等于4的时候,代表读取完成了

if(oAjax。readyState==4){

//状态码,只有等于200,代表接受完成,并且成功了

if(oAjax。status==200){

alert("成功" + oAjax。responseText);

}else{

alert("失败");

}}};};};

</script>

Js相关

JavaScript分三个部分: 浏览器兼容性问题(2):http://www.youerw.com/fanwen/lunwen_99312.html

------分隔线----------------------------
推荐内容