返回列表 发新帖

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

593.6k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:# m3 F* q$ b3 u1 f2 }8 J2 p7 v- a
代码如下:; _+ u6 E6 }8 Q
var pro = window.htmlelement.prototype;0 c3 n* C' A- ?$ H+ v
pro.__definegetter__(outerhtml, function(){
$ e5 z  c* C8 o& ~/ [& Zvar str = < + this.tagname;5 T4 \$ m4 i7 U6 ]
var a = this.attributes;( s" M8 b' D8 |* ?. o4 z# b* j
for(var i = 0, len = a.length; i < len; i++){; ]: ?( Y! r2 I. t
if(a.specified){9 O6 F& n/ u/ R( g7 x
str +=   + a.name + '=' + a.value + '';. V& T5 L3 {6 W# M* H0 c$ d/ D
}
  ?5 w) f' d% H}
% T0 q+ |  I* }- A( T- h  iif(!this.canhavechildren){
4 ^4 O/ S) U' m9 L" sreturn str +  />;, H. w1 z: q+ w. a3 d( M, N1 T
}
( O! _- c. L% z1 v5 oreturn str + > + this.innerhtml + </ + this.tagname + >;/ y7 b  o& u! }. r- N) J
});, d+ X/ F0 i2 I7 K. i9 O! B
pro.__definesetter__(outerhtml, function(s){4 J5 d' v9 n5 d& D
var r = this.ownerdocument.createrange();+ Y" J' \0 `. g* z  P/ w
r.setstartbefore(this);
8 a& C' j8 n/ n" P2 E$ L; U* D" e5 Ovar df = r.createcontextualfragment(s);: d" [2 |/ d  Z9 z2 O1 _
this.parentnode.replacechild(df, this);
5 R- I9 S  a; Y, r7 Freturn s;" \! A$ S8 w/ A4 I$ r" P
});) ]5 R! M+ H3 L  U# h2 \
pro.__definegetter__(canhavechildren, function(){
+ h0 {. ?8 x. |( G1 Mreturn !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());
1 j& \3 `* @' N8 D# B});& G: k6 D: _3 h9 G
4 ~6 r8 n( l, ~5 ^( \$ 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客服 返回顶部
快速回复 返回顶部 返回列表