文档章节

firefox、IE下的几个不同属性的方法调用

黄复得
 黄复得
发布于 2014/05/29 15:43
字数 345
阅读 67
收藏 8

声明:document.all:该对象只有IE中才存在,故用该对象来判断浏览器的类型

一、IFRAME的对象

在IE下可通过document.frames["id"];得到该IFRAME对象,

而在火狐下则是通过document.getElementById("content_panel_if").contentWindow;

代码如下:

if(!document.all){  //火狐中得到IFRAME的对象   
        _Frame=document.getElementById("id").contentWindow;   
    }else{   
         _Frame=document.frames["id"];
    }

二、得到对象的第一个子元素

 IE的写法: _tbody=_table.childNodes[0]

在FF中,firefox会在子节点中包含空白则第一个子节点为空白"#text", 而ie不会返回空白

可以通过if("#text" != node.nodeName)过滤掉空白子对象

三、添加背景图片

if(!document.all){   
           var _tempSrc="xx\xx\xx.gif";   
           _tempSrc=_tempSrc.replace(/\\/g,"/");  //全部替换   
         markerDiv.style.backgroundImage="url("+_tempSrc+")";   
    }else{   
            markerDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.icon.src    
    + ", sizingmethod=scale);";  //火狐不支持这种写法   
    }

四、模拟CLIKC事件

如该实例:

<a href="#" onclick="test(1)" id="a3">hello</a>
    <a href="#" onclick="test2(1)" id="b3">hello2</a>
    <script language="javascript">  
    <!--  
    function test(num){  
        window.alert(num);  
    }  
    function test2(num)  
    {  
        if(document.all){  //ie下 
            document.getElementById("a3").click();  
        }
        else{  
            var evt = document.createEvent("MouseEvents");  
            evt.initEvent("click", true, true);  
            document.getElementById("a3").dispatchEvent(evt);  
        }  
    }  
    //-->  
    </script>

event.initEvent(eventType,canBubble,cancelable) :

 initEvent 该方法将初始化 Document.createEvent() 方法创建的合成 Event 对象的 type 
 属性、bubbles 属性和 cancelable 属性。 只有在新创建的 Event 对象被 Document 对象或 Element 
对象的 dispatchEvent() 方法分派之前,才能调用 Event.initEvent() 方法。

五、attachEvent函数

if (isIE){
   window.attachEvent("onload", init);
}else{
   window.addEventListener("load", init, false);
}




本文转载自:http://www.cnblogs.com/top5/archive/2010/10/03/1841539.html

共有 人打赏支持
黄复得

黄复得

粉丝 14
博文 52
码字总数 6032
作品 0
福州
高级程序员
私信 提问
跨浏览器的 web 开发技巧

文章转自 IBM developerWorks web 开发要面临的一个重要问题是浏览器的兼容问题。虽然存在 W3C 制定的网络标准,不同的浏览器,甚至相同浏览器的不同版本行为有很大差异,开发者对于这些差异...

IBMdW
2011/06/08
442
0
firefox、IE下的几个不同属性的方法调用

声明:document.all:该对象只有IE中才存在,故用该对象来判断浏览器的类型 一、IFRAME的对象 在IE下可通过document.frames["id"];得到该IFRAME对象, 而在火狐下则是通过document.getEleme...

老鸟的空间
2014/07/07
0
0
JavaScript的浏览器兼容性问题小结。

JavaScript的浏览器兼容问题是前端开发中一直存在的一个问题,和css兼容性一样,我们在开发过程中必须了解一些基本的兼容性处理方法,下面从以下几个方面总结下js开发常碰到的问题:1、常用的...

MiniBu
2012/10/11
0
6
JavaScript DOM兼容性问题整理及部分解决方案

发现JS里面DOM属性、方法不是所有的浏览器都支持,因此整理此份资料,以便以后学习查看使用,望对大家也有所帮助。 (一) DOM节点的访问: 1. 以前对DOM节点访问一般用“document.All.元素ID属...

The-duke
2013/06/17
0
0
Firefox和IE之间7个JavaScript的差异

尽管 JavaScript 历史上使用冗长而令人生厌的代码块来标的特定浏览器的时期已经结束了,但是偶尔使用一些简单的代码块和对象检测来确保一些代码在用户机器上正常工作依然是必要的。 这篇文章...

asurann
2010/01/26
98
0

没有更多内容

加载失败,请刷新页面

加载更多

开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
11
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
7
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
4
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部