返回列表 发新帖

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

593.3k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:
# ~9 u1 {1 b( p: H1 x, g8 `代码如下:
1 |% d7 P/ n( l3 q) T
var pro = window.htmlelement.prototype;$ H. y+ [) S4 y- A1 F6 q* t; Y
pro.__definegetter__(outerhtml, function(){
: f( U% U6 P8 [1 gvar str = < + this.tagname;
( a8 H+ D% H& c% t- Y' _; Gvar a = this.attributes;. S! b: B2 H! a5 r* {$ f
for(var i = 0, len = a.length; i < len; i++){5 e% G5 b4 P0 O3 d8 }
if(a.specified){2 b+ ~0 V1 b+ |3 P0 E3 _* @# }
str +=   + a.name + '=' + a.value + '';
" i& ?: H( l) J& ^) w}
9 p0 {, f3 C3 |" d' w; `% h, D) z}% v% b& U# k2 @. b
if(!this.canhavechildren){
/ K" G# N, ^$ wreturn str +  />;
. j  @, [) r( c6 h* _1 ~}5 T) Y8 |8 F$ t: u: p' I7 X
return str + > + this.innerhtml + </ + this.tagname + >;, e/ z* F7 O/ Q& Z
});
! a0 b' a3 l+ l$ W4 R; y* D$ {pro.__definesetter__(outerhtml, function(s){4 l" U  j$ u- h
var r = this.ownerdocument.createrange();
: K% I2 [. U2 G, l1 T9 Y# ]r.setstartbefore(this);! ]4 {0 M  F0 r: c5 r: a
var df = r.createcontextualfragment(s);$ O) [) u: Y! S5 m$ S4 l# D
this.parentnode.replacechild(df, this);- q- P8 w8 K. s$ i7 o. [" z
return s;" `$ H# y) _8 c9 R; b- E
});5 r5 z4 I0 u, }2 V0 K/ m+ J0 n
pro.__definegetter__(canhavechildren, function(){
& U% j8 C, S7 Z0 r0 |return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());/ z! D4 E% \0 \% {0 U
});
6 s( ]5 @% I$ J6 C2 s8 v/ k8 r* h8 {' b0 z" [
更多网页制作信息请查看: 网页制作

回复|共 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技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表