返回列表 发新帖

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

593.3k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:9 V' \- t; s3 J; l+ h
代码如下:
. d% S# [7 N% @+ y! ]5 E: c
var pro = window.htmlelement.prototype;
  j1 x) T% A: kpro.__definegetter__(outerhtml, function(){
: [0 v/ v8 ^; v+ W" W5 h, D, zvar str = < + this.tagname;
) K. N3 F/ }" L, C! E% E  [var a = this.attributes;
- L! `' H' Q4 E$ I2 x- k9 d8 Sfor(var i = 0, len = a.length; i < len; i++){
! F7 ^7 x* i6 _8 Cif(a.specified){
0 Y  N& P  U. f6 n: g" j* ?str +=   + a.name + '=' + a.value + '';+ p1 r( M! N: I; F) n# M
}7 ?* t1 O  t7 u3 X( w- x& m$ _
}+ O2 F1 T/ a" H) P' Q* X' i+ K& V( v
if(!this.canhavechildren){
' w# r4 k$ t: p7 greturn str +  />;
) ]  y# S4 K5 F2 A}
. D, i8 X; Q0 b) U8 J9 ^8 ^return str + > + this.innerhtml + </ + this.tagname + >;6 N8 }0 H+ {8 a  S
});
* Y- q; J- O4 t! ypro.__definesetter__(outerhtml, function(s){
0 _9 ~9 F; N! j: c# ^5 ivar r = this.ownerdocument.createrange();
, S& ?3 B2 i+ I% Kr.setstartbefore(this);
8 B) ^! q5 k8 y- R0 avar df = r.createcontextualfragment(s);
" L4 w' c+ @( U) uthis.parentnode.replacechild(df, this);
! k6 }' F& n' U4 B  w/ ?7 Xreturn s;: n6 e, N0 K- o9 p: R, @) I: b
});- W* N- b* a" J' N/ k
pro.__definegetter__(canhavechildren, function(){
, w! [7 p0 h5 K4 E) W) areturn !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());
! B% h% Y' `  d4 d( Q});" s3 i$ a( j& i# s5 B

2 Y' Q% Q( o. x7 n6 {4 {更多网页制作信息请查看: 网页制作

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