浏览器的原型扩展计划
民生新闻 2021-08-24 14:26 字号: 大 中 小
我不想挑起IE与Firefox之间的争论,我只想说说Firefox浏览器有而IE里没有的一个功能,对DOM里的对象原型的扩展。 在DOM里的window、document、element、event等这些对象在Firefox(或者说Mozilla核心的浏览器)里都有与之对应的原型:Window、HTMLDocument、HTMLElement、Event等,对于这些原型扩展之后,那些window、document等对象就“自动”拥有某些成员属性或者成员方法了。举个简单的例子,比如在IE里都有一个 outerHTML 属性,可以取得这些元素所有的细节信息,但是这个属性不是W3C标准属性,所以那些非IE的浏览器就不会拥有这种属性了。不过因为这个属性使用起来非常方便,我想在Firefox之类的浏览器里也使用这个属性那该怎么办呢?这里就要用到原型扩展了:
script type=\"text/javascript\"/*![CDATA[*/
if(typeof(HTMLElement)!=\"undefined\" !era)
{
ototype.__defineGetter__(\"outerHTML\",function()
{
var a=tributes, str=\"\"+gName, i=0;for(;ngth;i++)
if(a[i].specified) str+=\" \"+a[i].name+\'=\"\'+a[i].value+\'\"\';
if(!nHaveChildren) return str+\" /\";
return str+\"\"+nerHTML+\"/\"+gName+\"\";
});
ototype.__defineSetter__(\"outerHTML\",function(s)
{
var r = eateRange();
tStartBefore(this);
var df = eateContextualFragment(s);
placeChild(df, this);
return s;
});
ototype.__defineGetter__(\"canHaveChildren\",function()
{
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(LowerCase());
});
}
/*]]*//script
加了这么一段代码之后,在Firefox浏览器里再调用 tElementById(\"divId\").outerHTML,(读取/赋值)一切正常,这一点优势是IE系列浏览器所不具有的。这一点算是 Firefox 浏览器(Mozilla核心的浏览器)的一个亮点吧!
下面再写两个比较有用的扩展吧:
script type=\"text/javascript\"/*![CDATA[*/
if(!tachEvent dEventListener)
{
tachEvent = tachEvent=
tachEvent=function(en, func, cancelBubble)
{
var cb = cancelBubble ? true : false;
全球的年棉花产量将较需求短缺 13%。棉花期货自2月5日以来上升 23%至近期高点 dEventListener(LowerCase().substr(2), func, cb);
};
tachEvent = tachEvent=
tachEvent=function(en, func, cancelBubble)
{
var cb = cancelBubble ? true : false;
moveEventListener(LowerCase().substr(2), func, cb);
};
}
if(typeof Event!=\"undefined\" !era)
{
var t=ototype;
t.__defineSetter__(\"returnValue\", function(b){if(!b)eventDefault(); return b;});
t.__defineSetter__(\"cancelBubble\",function(b){if(b) opPropagation(); return b;});
t.__defineGetter__(\"offsetX\", function(){return yerX;});
t.__defineGetter__(\"offsetY\", function(){return yerY;});
t.__defineGetter__(\"srcElement\", function(){var n=rget; while (deType!=1)n=rentNode;return n;});
}
/*]]*//script
查看本文来源
石嘴山白癜风医院成都不孕不育医院
武汉白癜风医院排名
-
-
恩惠曼联名宿替孔蒂鸣不平切尔西高层才是在犯罪
曼联名宿替孔蒂鸣不平:切尔西高层才是在犯罪孔蒂获得吉尔...
2020-09-15 | 民生新闻
-
-
龙沙小学收看十九大盛况凝心聚力再创辉煌
龙沙小学收看十九大盛况 凝心聚力再创辉煌 10月18日,龙沙小...
2019-12-17 | 民生新闻
-
-
谯城区光荣院多措并举努力增加院民幸福感
谯城区光荣院:多措并举努力增加院民幸福感谯城区光荣院现...
2019-07-15 | 民生新闻
-
-
众合里社区开展更换下水管道入户通知工作
众合里社区开展更换下水管道入户通知工作为进一步提升咸水...
2019-07-15 | 民生新闻
-
-
眉山市大力推进儿童福利保障工作
眉山市大力推进儿童福利保障工作一、认真做好孤儿和事实上...
2019-07-13 | 民生新闻
-
-
县人民政府办公室关于印发英山县畜禽养殖区
县人民政府办公室关于印发英山县畜禽养殖区域划分方案的通...
2019-07-11 | 民生新闻