返回列表 发新帖

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

593.5k 9
swmozowtfl 发表于 2015-7-10 22:25:34|湖北 | 查看全部 阅读模式
代码很简单,如下:
- q+ c6 Q0 q1 Q& Z: c# C代码如下:
9 e/ l* Z% S  ?6 V: d
var pro = window.htmlelement.prototype;  m/ L* Z2 f! x- R" v8 N
pro.__definegetter__(outerhtml, function(){- m! ]9 w7 T; h: S. j
var str = < + this.tagname;
9 F. z- U* T) D/ ]9 K* C2 [var a = this.attributes;
2 _8 f" n0 ]( M6 dfor(var i = 0, len = a.length; i < len; i++){
" L9 o) M' J/ wif(a.specified){( i, W# _, S* I8 M8 c, v% e0 s2 b
str +=   + a.name + '=' + a.value + '';
$ J/ v+ V8 e0 e, }}' u) j3 \0 b6 |% K% b3 S
}
  ^! t- h' [! _- x3 uif(!this.canhavechildren){$ e8 f, N$ h/ E" J2 e; s1 j
return str +  />;
( ?" T5 h" h, M4 S  H}
0 w/ V. |  ^8 b9 ^return str + > + this.innerhtml + </ + this.tagname + >;
' H8 y2 w6 ^* w# [- r* M& b});, I) b* \: m2 q- ]1 R
pro.__definesetter__(outerhtml, function(s){
4 O* c. V8 ]& \( w7 d; N* cvar r = this.ownerdocument.createrange();
% V3 {. T% z# k1 Z/ E3 yr.setstartbefore(this);7 H7 u1 B4 Y0 O* [( R
var df = r.createcontextualfragment(s);) _1 H& t' N, K8 {# n
this.parentnode.replacechild(df, this);
- T! _( L3 T: f2 k$ {* Preturn s;
" n% E# Z7 h: S: e4 C1 ?) F});
1 {; s! N8 m, N) u7 t" Mpro.__definegetter__(canhavechildren, function(){
2 z) _7 S1 C1 freturn !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagname.tolowercase());
* J- S: C1 }" x1 L1 B% g});
. \& I0 {7 W' K) A; Z) E: H9 `
% A' Z' p, W" J1 r; O更多网页制作信息请查看: 网页制作

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