返回列表 发新帖

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

593.6k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:
' d. V& F! k& f* `! M" G: x代码如下:
7 m2 ^! K" z4 A' j5 k5 F' A0 D
var pro = window.htmlelement.prototype;
3 Y1 p- w6 ]: u: dpro.__definegetter__(outerhtml, function(){
' I& }0 |/ F5 N2 R+ v0 L1 Lvar str = < + this.tagname;  V8 Q% a( l6 U- `+ d! p3 G6 m
var a = this.attributes;, h% C+ [) T! a1 f
for(var i = 0, len = a.length; i < len; i++){3 Z' ~; D4 [" k
if(a.specified){
; l$ {6 l/ o5 l0 Vstr +=   + a.name + '=' + a.value + '';
7 z- j, K8 ?# x}" n: r' k- L( }8 x- }+ n! j" t1 F
}
& {3 c2 u8 q9 g, ~! |  \. _' Eif(!this.canhavechildren){% O) Z0 j* a; _, ?. t& ~
return str +  />;
4 E: {2 p, S) G}/ ~, H6 v5 x: N" n
return str + > + this.innerhtml + </ + this.tagname + >;# \$ X! Y- {: C) e" [
});
9 a# I8 ^$ F5 W; E* ~$ }! @pro.__definesetter__(outerhtml, function(s){  j6 O' K; s& r0 d5 q9 S3 |
var r = this.ownerdocument.createrange();3 m  k# \2 }  O! B7 }
r.setstartbefore(this);9 X5 k  K/ }& A- Q
var df = r.createcontextualfragment(s);
+ }& N) d$ S: F6 A" ^4 e& R  f; D4 wthis.parentnode.replacechild(df, this);
/ N* j" u8 d. D0 E& J$ l9 y; Yreturn s;6 }5 k( w8 B# ~3 A5 f2 r4 `
});
; N* D* o9 c3 _& D: q6 Kpro.__definegetter__(canhavechildren, function(){% R- J! G% a- ^' v
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());
& f9 u/ _; V9 B) B& g9 `# g9 M) ~: n});: R# ~0 S- J9 g4 g+ h

# ~0 W8 \4 h/ e, ^) ?4 E" h# B更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表