- 浏览: 148094 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
zhang964761032:
学习学习
不可直译的英语 -
illu:
这个很高端。。。
凉皮的做法 -
cindylu520:
我不回答你,你往话里带我。小样。
The lost lady 败犬女 -
lujinan858:
那你是败犬中得胜犬还是胜犬中的败犬呢?嘿嘿
The lost lady 败犬女 -
dunhuacc12:
能给个学习英语的网站么?你这些题是在哪里弄的啊? 最近想补补 ...
20100316英语学习
给FF添加了IE专有的属性和方法:
<script language="JavaScript" type="Text/JavaScript"> <!-- if(window.Event){// 修正Event的DOM Event.prototype.__defineSetter__("returnValue",function(b){// if(!b)this.preventDefault(); return b; }); Event.prototype.__defineSetter__("cancelBubble",function(b){// 设置或者检索当前事件句柄的层次冒泡 if(b)this.stopPropagation(); return b; }); Event.prototype.__defineGetter__("srcElement",function(){ var node=this.target; while(node.nodeType!=1)node=node.parentNode; return node; }); Event.prototype.__defineGetter__("fromElement",function(){// 返回鼠标移出的源节点 var node; if(this.type=="mouseover") node=this.relatedTarget; else if(this.type=="mouseout") node=this.target; if(!node)return; while(node.nodeType!=1)node=node.parentNode; return node; }); Event.prototype.__defineGetter__("toElement",function(){// 返回鼠标移入的源节点 var node; if(this.type=="mouseout") node=this.relatedTarget; else if(this.type=="mouseover") node=this.target; if(!node)return; while(node.nodeType!=1)node=node.parentNode; return node; }); Event.prototype.__defineGetter__("offsetX",function(){ return this.layerX; }); Event.prototype.__defineGetter__("offsetY",function(){ return this.layerY; }); } if(window.Document){// 修正Document的DOM } if(window.Node){// 修正Node的DOM Node.prototype.replaceNode=function(Node){// 替换指定节点 this.parentNode.replaceChild(Node,this); } Node.prototype.removeNode=function(removeChildren){// 删除指定节点 if(removeChildren) return this.parentNode.removeChild(this); else{ var range=document.createRange(); range.selectNodeContents(this); return this.parentNode.replaceChild(range.extractContents(),this); } } Node.prototype.swapNode=function(Node){// 交换节点 var nextSibling=this.nextSibling; var parentNode=this.parentNode; node.parentNode.replaceChild(this,Node); parentNode.insertBefore(node,nextSibling); } } if(window.HTMLElement){ HTMLElement.prototype.__defineGetter__("all",function(){ var a=this.getElementsByTagName("*"); var node=this; a.tags=function(sTagName){ return node.getElementsByTagName(sTagName); } return a; }); HTMLElement.prototype.__defineGetter__("parentElement",function(){ if(this.parentNode==this.ownerDocument)return null; return this.parentNode; }); HTMLElement.prototype.__defineGetter__("children",function(){ var tmp=[]; var j=0; var n; for(var i=0;i<this.childNodes.length;i++){ n=this.childNodes[i]; if(n.nodeType==1){ tmp[j++]=n; if(n.name){ if(!tmp[n.name]) tmp[n.name]=[]; tmp[n.name][tmp[n.name].length]=n; } if(n.id) tmp[n.id]=n; } } return tmp; }); HTMLElement.prototype.__defineGetter__("currentStyle", function(){ return this.ownerDocument.defaultView.getComputedStyle(this,null); }); HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){ var r=this.ownerDocument.createRange(); r.setStartBefore(this); var df=r.createContextualFragment(sHTML); this.parentNode.replaceChild(df,this); return sHTML; }); HTMLElement.prototype.__defineGetter__("outerHTML",function(){ var attr; var attrs=this.attributes; var str="<"+this.tagName; for(var i=0;i<attrs.length;i++){ attr=attrs[i]; if(attr.specified) str+=" "+attr.name+'="'+attr.value+'"'; } if(!this.canHaveChildren) return str+">"; return str+">"+this.innerHTML+"</"+this.tagName+">"; }); HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){ switch(this.tagName.toLowerCase()){ case "area": case "base": case "basefont": case "col": case "frame": case "hr": case "img": case "br": case "input": case "isindex": case "link": case "meta": case "param": return false; } return true; }); HTMLElement.prototype.__defineSetter__("innerText",function(sText){ var parsedText=document.createTextNode(sText); this.innerHTML=parsedText; return parsedText; }); HTMLElement.prototype.__defineGetter__("innerText",function(){ var r=this.ownerDocument.createRange(); r.selectNodeContents(this); return r.toString(); }); HTMLElement.prototype.__defineSetter__("outerText",function(sText){ var parsedText=document.createTextNode(sText); this.outerHTML=parsedText; return parsedText; }); HTMLElement.prototype.__defineGetter__("outerText",function(){ var r=this.ownerDocument.createRange(); r.selectNodeContents(this); return r.toString(); }); HTMLElement.prototype.attachEvent=function(sType,fHandler){ var shortTypeName=sType.replace(/on/,""); fHandler._ieEmuEventHandler=function(e){ window.event=e; return fHandler(); } this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false); } HTMLElement.prototype.detachEvent=function(sType,fHandler){ var shortTypeName=sType.replace(/on/,""); if(typeof(fHandler._ieEmuEventHandler)=="function") this.removeEventListener(shortTypeName,fHandler._ieEmuEventHandler,false); else this.removeEventListener(shortTypeName,fHandler,true); } HTMLElement.prototype.contains=function(Node){// 是否包含某节点 do if(Node==this)return true; while(Node=Node.parentNode); return false; } HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){ switch(where){ case "beforeBegin": this.parentNode.insertBefore(parsedNode,this); break; case "afterBegin": this.insertBefore(parsedNode,this.firstChild); break; case "beforeEnd": this.appendChild(parsedNode); break; case "afterEnd": if(this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling); else this.parentNode.appendChild(parsedNode); break; } } HTMLElement.prototype.insertAdjacentHTML=function(where,htmlStr){ var r=this.ownerDocument.createRange(); r.setStartBefore(this); var parsedHTML=r.createContextualFragment(htmlStr); this.insertAdjacentElement(where,parsedHTML); } HTMLElement.prototype.insertAdjacentText=function(where,txtStr){ var parsedText=document.createTextNode(txtStr); this.insertAdjacentElement(where,parsedText); } HTMLElement.prototype.attachEvent=function(sType,fHandler){ var shortTypeName=sType.replace(/on/,""); fHandler._ieEmuEventHandler=function(e){ window.event=e; return fHandler(); } this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false); } HTMLElement.prototype.detachEvent=function(sType,fHandler){ var shortTypeName=sType.replace(/on/,""); if(typeof(fHandler._ieEmuEventHandler)=="function") this.removeEventListener(shortTypeName,fHandler._ieEmuEventHandler,false); else this.removeEventListener(shortTypeName,fHandler,true); } } //--> </script>
举个例子,在FF中使用currentStyle:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cn' lang='cn'> <head> <style type="text/css"> #a{width:100px;height:100px;background-color:yellow;} </style> <script type="text/javascript"> window.onload=function(){ HTMLElement.prototype.__defineGetter__("currentStyle", function(){return this.ownerDocument.defaultView.getComputedStyle(this,null);}); //上面一行代码就给所有的HTML元素添加了currentStyle属性 var a=document.getElementById("a"); alert("style中的width=\""+a.style.width+"\"\tcurrentStyle中的width=\""+a.currentStyle.width+"\""); } </script> </head><body> <div id="a"></div> </body> </html>
本文链接:http://www.blueidea.com/tech/web/2008/5423.asp
发表评论
文章已被作者锁定,不允许评论。
-
一个使用方便的用于跳转后保持滚动条位置的JS
2011-11-29 14:49 868function ScrollHolder() { // ... -
JS 打印方法小结
2011-08-15 14:27 1234JS 实现打印网页中的部分内容: <script la ... -
星级点评效果
2011-08-12 12:21 685var sArray = new Object; s ... -
IE与Firefox在JavaScript上的7个不同句法
2010-05-21 10:57 639尽管那需要用长串的、沉闷的不同分支代码来应付不同浏览器的日子已 ... -
JS动态创建表格
2010-05-19 19:54 1514目标:生成一个2000*5的表格,每个单元格的内容是行号+逗号 ... -
省市三级联动
2010-04-16 10:36 1968//省市三级菜单联动function Dsy() ... -
Js事件大全
2010-04-15 10:18 711一般事件 事件 浏览器支持 描述 onClick IE3|N2 ... -
prototype 代码解读
2010-02-06 15:02 1544最近在学习这个,就在网上google了一下这方面的资料,转载了 ... -
event对象 参考手册
2010-02-06 10:55 659http://www.w3school.com.cn/html ... -
relatedTarget 事件属性
2010-02-06 10:54 1126定义和用法 relatedTarget 事件属性返回与事件的 ... -
__defineGetter__和__defineSetter__
2010-02-06 10:21 1479Getter是一种获取一个属性的值的方法,Setter是一种设 ... -
JavaScript prototype 属性
2010-02-06 10:11 624Definition and Usage定义与用法 The ... -
attachEvent与addEventListener区别
2010-02-06 09:52 1247element.addEventListener(type, ... -
js教程--从入门到精通
2010-01-28 09:39 759JavaScript是基于对象(object-based)的语 ...
相关推荐
首先,让我们来看标题和描述中提到的问题:如何使`DIV`或`table`在IE和Firefox中水平居中。在CSS中,有多种方法可以实现这个效果,但并非所有方法在所有浏览器中都能得到相同的支持。在提供的部分内容中,提到了两种...
11. **window.location.href**:IE和FF2.0.x以上版本都支持`window.location`或`window.location.href`,但在FF1.5.x中,只能使用`window.location.href`。建议在所有代码中使用`window.location.href`,以确保一致...
以下是关于IE和FF部分区别的详细分析: 1. **边界问题**: - 在CSS中,IE将边框宽度计算在元素的总宽度和高度之内,而Firefox则将边框外加到元素尺寸上。例如,一个设置为`width:100px;height:100px;border:1px ...
nt : event.target;)来代替 IE 下的 event...通过使用兼容性函数和方法,可以确保代码在IE和Firefox中都能正常工作。此外,还可以考虑使用如jQuery等库,它们已经处理了许多兼容性问题,使开发者能够更专注于业务逻辑。
将 `document.formName.item("itemName")` 替换为 `document.formName.elements["itemName"]`,这样可以在IE和FF中都能正确获取表单元素。 **示例代码:** ```javascript // 错误用法 var element = document.form...
FF650R17IE4.pdf
#### 标题解析:“ie6 ie7 ff浏览器兼容” 该标题明确指出了文章关注的核心问题——即确保网页能在IE6、IE7及Firefox等浏览器中正确显示。这意味着开发者需要采取一定的措施来适配这些浏览器,确保无论用户使用何种...
### IE和FF兼容性大集合 随着互联网技术的迅速发展,各式各的浏览器层出不穷,而浏览器之间的兼容性问题成为开发者必须面对的一个挑战。本文将基于实际经验与网络资源,总结Internet Explorer (IE) 和 Firefox (FF)...
在开发Web应用时,浏览器...在编写JavaScript和CSS代码时,应该考虑这些兼容性问题,以便确保在FF和IE等不同浏览器上的正确运行。通过使用条件语句或封装函数,可以有效地处理这些差异,提高代码的可维护性和兼容性。
从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出关于“兼容FF和IE的日历控件JS”的详细知识点。以下是对这些知识点的深入解析: ### 标题:“兼容ff和ie的日历控件 js” #### 知识点1:兼容性问题 ...
为了让鼠标悬停时的指针样式能在IE和FF中保持一致,可以使用`cursor:pointer`。但在IE中,还需要额外添加`cursor:hand`来兼容IE5。 #### 6. 解决UL元素默认margin和padding的问题 在IE中,默认的`UL`元素的`margin...
在本案例中,"兼容ie和ff的页签"指的是一个JavaScript实现的页签功能,能够同时在Internet Explorer(IE)和Firefox(FF)这两个主流浏览器上正常工作。由于这两种浏览器对某些Web标准的实现存在差异,因此创建跨...
标题中的“ie和ff对比”指的是Internet Explorer(简称IE)与Firefox浏览器之间的比较。这两个都是历史上非常重要的网页浏览器,但它们在技术实现、兼容性、性能以及标准支持方面存在显著差异。 **一、渲染引擎差异...
但是,在IE和Firefox中,这种方法的表现不同。一个可行的方案是通过调整`line-height`的值来实现元素的垂直居中。 7. **光标样式** 设置`cursor: pointer`会使鼠标在悬停时变为手形指针。在IE中,这通常表示可...
### 图片链接无虚线,保证在FF和IE下正常运行 #### 背景介绍 在网页设计与开发过程中,确保网站在不同浏览器(如Firefox(简称FF)和Internet Explorer(简称IE))下的兼容性是至关重要的。特别是在早期版本的IE中...
在ie6 ie7 ie8 ff浏览器下显示不同的效果,测试的时候很好用哦。
为了在IE和Firefox之间保持文本居中的效果,可以采用以下CSS代码: ```css body { TEXT-ALIGN: center; } #center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; } ``` 这样可以确保在不同的浏览器中元素都能正确...
综上所述,"兼容ie6/ie7/ie8/ff 省市县的js"是一个旨在解决跨浏览器兼容性的JavaScript组件,它实现了在旧版IE和Firefox上显示和操作省市县选择的功能。开发者在创建这样的组件时需要考虑DOM操作、事件处理、数据...
- `style` 对象:IE和FF对某些CSS属性的命名不一致,如 `border-color` 在IE中为 `borderColor`,FF中为 `borderColor`。使用 `getComputedStyle` 或 `currentStyle` 方法可以获取更准确的样式信息。 4. **DOM操作...