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

推荐订阅源

J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
爱范儿
爱范儿
罗磊的独立博客
美团技术团队
Jina AI
Jina AI
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
IT之家
IT之家
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
月光博客
月光博客
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)

博客园 - 刹那间我存在

一个可以放wordpress博客的PHP国外免费空间速度非常不错 重写alert,使用模态窗口强化alert。 - 刹那间我存在 - 博客园 利用 ASP.NET 的Timer 来实现的访问统计,感觉比较适合高访问量的网站 JavaScript 使用for(…in…)实现反射机制 [原] 用 javascript 给你的博客增加运行代码功能 [原]ASP.NET 下生成的条形码。 网页中图片大小自动调整三种方法 - 刹那间我存在 - 博客园 同时支持三种事件模型 ASP调用.Net编写的动态库 - 刹那间我存在 - 博客园 整个表单元素禁用``` shtml精简教程 更改数据库所有者 BitComet超级优化设置 很酷的TOOLTip JS函数收藏 今天得到了两个 Google Analytics 的邀请 CustomValidator 控件 千万数量级分页存储过程(带效果演示) 推荐一下免费的1G网络硬盘,非常另类
给moz添加ie方法和属性,让firefox像IE一样编程 - 刹那间我存...
刹那间我存在 · 2007-04-19 · via 博客园 - 刹那间我存在

<script language="JavaScript" type="Text/JavaScript">
<!--
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>