惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
GbyAI
GbyAI
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
P
Proofpoint News Feed
The Cloudflare Blog
H
Help Net Security
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
量子位
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
月光博客
月光博客

博客园 - ylm㊣

C#线程类Thread初步 div+css构建模板技巧收藏 CrystalReport建立步骤 C# 2.0 命令行编译器 javascript (收藏代码) - ylm㊣ - 博客园 javascript 技巧(转) JS菜单大全 JS弹出窗口 FRAMESET 委托的例子 每个开发人员现在应该下载的十种必备工具 C# vb.net 语法比较 C#函数集 SQl语句学习专题(转) 數据庫物理設計經驗談 数据库设计经验谈(转) SQL模糊查询 正则表达式详解 关于23种设计模式的有趣见解(转)
给firefox添加ie方法和属性
ylm㊣ · 2006-12-12 · via 博客园 - ylm㊣

<!--
if(
window.Event){// 修正Event的DOM
    /*
                                    IE5        MacIE5        Mozilla        Konqueror2.2        Opera5
    event                        yes         yes                yes              yes                       yes
    event.returnValue     yes         yes                no                no                         no
    event.cancelBubble   yes        yes                no                no                         no
    event.srcElement      yes         yes                no                no                         no
    event.fromElement    yes         yes                no               no                         no
    
    */
    
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
    /*
                                IE5        MacIE5        Mozilla        Konqueror2.2        Opera5
    document.documentElement    yes        yes            yes            yes                    no
    document.activeElement        yes        null        no            no                    no
    
    */
    
}
if(
window.Node){// 修正Node的DOM
    /*
                                IE5        MacIE5        Mozilla        Konqueror2.2        Opera5
    Node.contains                yes        yes            no            no                    yes
    Node.replaceNode            yes        no            no            no                    no
    Node.removeNode                yes        no            no            no                    no
    Node.children                yes        yes            no            no                    no
    Node.hasChildNodes            yes        yes            yes            yes                    no
    Node.childNodes                yes        yes            yes            yes                    no
    Node.swapNode                yes        no            no            no                    no
    Node.currentStyle            yes        yes            no            no                    no
    
    */
    
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>
?> 
http://blog.csdn.net/city22

posted on 2006-12-12 17:11  ylm㊣  阅读(458)  评论()    收藏  举报