返回列表 发新帖

解决firefox下不支持outerhtml问题代码分享

593.7k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:2 v1 t2 \' H7 O' e1 e/ A# i* M
代码如下:
( z  A7 U3 R. {3 c. S; N, {
var pro = window.htmlelement.prototype;4 w+ E9 d/ c# M
pro.__definegetter__(outerhtml, function(){- T: l4 O( x9 v5 t
var str = < + this.tagname;. o) S/ r6 ]% `3 W6 X7 k$ t
var a = this.attributes;/ B1 J1 x! c9 j/ i2 b7 m2 k
for(var i = 0, len = a.length; i < len; i++){
) ]4 m  i4 L9 ~if(a.specified){
) q$ t8 y6 k- jstr +=   + a.name + '=' + a.value + '';
' \/ M4 h4 d( E0 f+ `$ O6 N}0 a) q/ t# |/ p# i
}
8 ^* o1 B9 I  H7 w; }+ u% F" |" Pif(!this.canhavechildren){
2 @) R. B0 N9 a' B5 W' C& t5 [) Zreturn str +  />;2 B, {0 f8 g* [+ n
}
5 X5 t" m! v4 W$ c  M9 H5 k: wreturn str + > + this.innerhtml + </ + this.tagname + >;  ?" p! M) a( ^+ `' |4 W% h
});" a- p9 A7 j# |3 S+ e' Z# n
pro.__definesetter__(outerhtml, function(s){! n  T9 ^! Y% J* T$ E: E
var r = this.ownerdocument.createrange();
' I2 }' f9 L, i- q: H7 {r.setstartbefore(this);
/ t) b1 o8 e$ o) Z/ svar df = r.createcontextualfragment(s);7 H' a7 w. I$ `( a& F
this.parentnode.replacechild(df, this);
4 l7 }% D5 j9 @7 N' Treturn s;
1 u$ o) `; s$ Z9 {});* Y5 K4 G. V3 y
pro.__definegetter__(canhavechildren, function(){
' n: i8 t* I: areturn !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());3 @) e( O3 g  n7 c
});
) r2 {) z' u2 y# Z7 k8 y" F9 t7 r! w6 F
更多网页制作信息请查看: 网页制作

回复|共 9 个

wwdu926a 发表于 2015-10-2 18:28:45|美国 | 查看全部
我想骂我自己
mwxny 发表于 2015-10-2 18:28:59|美国 | 查看全部
宁死不屈.....
Acropozelan 发表于 2015-10-2 18:28:28|台湾 | 查看全部
原来...发神经是这样的啊...
mwxny 发表于 2015-10-2 18:27:38|美国 | 查看全部
什么啊
bqtklouu 发表于 2015-10-2 18:28:47|INNA | 查看全部
其实今天baidu 又 抽风了
bqtklouu 发表于 2016-3-4 17:42:24|俄罗斯 | 查看全部
做为老人!在吧里我都懒的都不想说话!送完经验我就走!
mwxny 发表于 2016-3-4 17:43:28|INNA | 查看全部
我又回复了
bqtklouu 发表于 2016-3-4 17:42:19|美国 | 查看全部
好吧...那你说...
seazvyt 发表于 2016-3-4 17:42:56|马来西亚 | 查看全部
老天不公啊.....

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表