|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
f3 B7 [ `1 i
: R. `& p+ u7 ^8 h4 w/ ?火狐插件,用猴子) D- \1 k! i1 m( }1 a
; I. d+ ?/ ~) ~7 b6 |
var debug=false; 9 W0 ?- v- D* T$ p
var CleanHideObj=new CleanHideClass();
$ {% n, v- ?- M9 U, z
( m8 X, s: M6 W" z/ T0 Efunction CleanHideClass() 5 s( ^( U7 \# l' J: j! t' ~
{ & e) ~8 S' W9 O' r, e! t2 q# U
. z" y7 w% P( Y4 H$ F* o
this.on=function(id,bMZ)
' _$ m. `: b" [- W2 [; V {' i# ^9 v: u4 ]+ F. @0 A$ U
5 x* z6 z7 l/ e2 h9 y4 i2 D
if(id == 0)7 W: [! i" h. d3 b
{
8 K# j! c. j, j1 t* J' h# J w. O6 | var page=/* document.getElementById("content").contentDocument */document;
; q- Z5 _" _4 u3 ~: r8 L% ?8 x1 ?( f this.RemoveHide(page,"span");! G* G @/ A+ V! T6 z6 l3 g! \4 B4 p
this.RemoveHide(page,"font");
7 n+ }" S/ x) j; u0 o/ K this.RemoveHide(page,"div");0 }6 q: B8 t# E
this.RemoveHide(page,"p");9 r; H7 o- c1 b9 M5 \) N1 W
- x% ~" K7 O" R2 W
}
; M1 @$ c6 L' w0 M* F$ h7 ~
: `. v L5 i3 w' c# Y6 g$ N0 C }! R: F- T* c- d+ Q- R9 K' q# O5 E- v5 o4 Q
this.getobjstyle=function(node,prop)* a, a" r8 {$ m. U# Z* q
{
- z4 C% q e/ a" R* @# I try
$ J$ O( o" P0 \ {* A: |% B2 ?" R O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. z% P) s" Q& R- k. q
}/ W k% s3 G. {) w7 M. R" K
catch(e), F ?6 z" s% r6 g
{# k+ m7 K5 l6 h0 }
if(debug)
$ K# W) A/ a" z4 c- d {6 r5 @/ ~2 k' T% `0 W* l# j
alert(e.message);8 R1 E, M6 Q+ ]) v+ f# @: ]
}
* c0 z' l* d* ~3 H+ ?: h 9 Y+ h3 I' A% V( h" T5 i. ]
return "200";: Y5 G3 B( D% h. [; |5 \1 {
}
; b( ^- ^( v$ H7 V }2 |2 w/ k9 P9 D
4 A1 a* U: E- N0 M this.RemoveHide=function(page,objname). \! P/ X9 W7 P/ |
{: l1 S1 m2 b3 o2 G- t0 S
try1 p# t1 w8 Y+ K7 `4 ^; _( r$ r a
{5 W4 @, h8 d& \3 P
var minValue=15;
8 v6 @! G( W% d6 P/ R var objs=page.getElementsByTagName(objname); ! I3 o: N6 {: i# B& [5 F8 j
1 `8 o9 h7 _- j
if(objs.length == 0) 8 F1 p9 ]9 J' H& D
{
+ X; `" b& i3 Q if(debug)
8 c4 s9 @" z% b. a* O. c) E l9 h {8 i: E3 }; D2 _/ q, n
alert("no object found!:"+objname);+ e4 T: w- x% q( Z
}
1 P0 X% U; B0 A }
) F9 k! ]- z. d, j* {. ^1 D* i else8 p+ z# C1 y( W4 @3 s
{
( s' }, T3 f& o0 g% M
+ G: o$ R8 _7 d+ _+ v6 X for(var i=objs.length-1;i>=0;i--)
5 n3 d) |( Q F; m, |* V {* l! C: ?1 @, b% H2 l
var node=objs.item(i);
& k! {# Q* ?. n- E : V5 v: I$ A, u3 L3 @5 h8 e! U
( g5 z# y' s' {8 D2 q; q9 I* A
if(this.getobjstyle(node,"display") == "none" ||7 S* F+ x b4 a
this.getobjstyle(node,"visibility") =="hidden" || d! d% |# f& O4 Q5 D# P
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 _' q$ k/ R2 M/ U1 p {
- }/ x8 z* o; V3 j2 W6 n if(debug); C* e% Z5 T# q: ~, O; Y& u- W
{3 e+ Y( O4 t1 i* ]6 I. w
alert("remove invisiable!");& B$ o, l, l4 s: T0 n
}2 r$ t" }( k" ?4 n: K
node.parentNode.removeChild(node);+ k Y' z3 e0 P
( F. H. t/ s5 S* o- A4 S! Y }
7 C& n! {, b: @7 y' ?( N/ w else " I& L" x& g5 v' j
{
) T2 ]# t; D# y% i1 r if(node.parentNode) 8 Q" v7 r9 s3 y% K; N, R
{
2 N J3 }4 U/ {$ H0 |% Z var orgNode=node;; h3 C- X9 P! j+ z0 b7 |
var orgColor=this.getobjstyle(orgNode,"color")
) h3 Q* T9 g9 N/ s' r+ o d var orgRGB=getRGB(orgColor); ' M5 h0 X8 c* o! n/ m+ k8 w' _8 b
8 q7 _7 V: g; w$ g) z
var parentNode=node.parentNode
; h0 Q- s% A' \( { var parentBgColor=this.getobjstyle(parentNode,"background-color");" \. |3 d9 N9 H4 o: X
5 `2 @9 C' D4 \5 q; u7 U8 M var isLast=false;$ e. U) L+ P$ F* b% {+ L) {+ ~& J
4 O0 h4 I4 P9 X) b. w while(parentBgColor == "transparent") : \! v; N* U- a+ ^
{
4 \, H9 u2 |* e, U! I& w% x1 p0 c ; K/ O: d3 X& E
7 o- c0 a5 D$ f' g! F8 H3 h3 Q e if(parentNode.parentNode == null)" [. @3 H! C; i" D1 }& c" M
{3 L: Q. K" d8 I
isLast=true;
* Y% t2 k: a8 ^2 j. [5 n3 \/ m; v break;
0 }3 C$ Z, R; L7 R1 V, T }9 k! K8 E! k* n8 D6 o6 p: g
parentNode=parentNode.parentNode;9 Q- Q' k: _; S! n3 I- g7 P9 \
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 s5 S0 ?! M; h5 m' ?
# b" m% e8 m" q2 m- @6 { if(parentBgColor != "transparent") * W% x2 R# L4 |, Y
{
6 ?; K! w" ^6 x3 B! } break;
! D/ Y' u) ^# `2 b0 b }
( z x$ K' [& b% D }
5 y# r; K' h2 t1 ~8 e# M7 T% h if(isLast)
; s+ `0 J* e/ w: D5 m) L. p1 ~ {1 Y8 R1 | G p4 \5 l( }
if(debug): V k/ H- y) W% N( G
{% c( r0 ?9 n: \4 a8 | |" Q
alert("last!!");$ W5 T0 a5 ~& r' G
}
$ i1 T6 ]; p: S2 u* |3 _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( E" i. _0 f* M3 e7 U8 l
{' v9 v4 [* a7 c3 l9 U
orgNode.parentNode.removeChild(orgNode); " H1 O8 q! W6 Z6 N, n2 Y& K
}. s1 K+ T0 {# {( _1 t$ z( v
}2 ?. D0 N8 y9 w- _
else) l2 U) T8 E6 d- H
{& \. W5 ^2 h0 S( y- x; Q
if(debug)
) I2 n3 R6 L. d; F* H( F, \; C. @ {
2 T+ f" ]- }8 r* H alert("compare color and parent bgcolor!");2 v" t; M" `( ^8 f7 }6 _
}) v7 o; i0 L. r& x
parentBgRGB=getRGB(parentBgColor);
1 k, B& h0 U# \* T K1 p& b# s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 b0 p0 \5 b- T. ~, e3 s% k- t. c( g
{( s$ N$ ?# C* P7 s' a5 Z
orgNode.parentNode.removeChild(orgNode);
% C! Q( A. i" w# [ }
, Q0 u; R. h9 r& } }# D8 |0 W/ D6 w& a/ o1 @
}* _: m9 T9 E; X9 c" B6 T; ?) B: |- S0 S
}% x6 e) S! e! C% {
}" M& W' e/ l& V
}
G7 t3 v+ c; b5 X- o* f, o) K / n: N. I; Q' u$ y
: A- u/ @# O+ n1 \% \
var itemFrames = page.getElementsByTagName("frame");( j; a9 z5 p3 ^. z5 Q( [7 H* i* N
var itemiFrames = page.getElementsByTagName("iframe");
4 ?+ r1 t. P6 y- @- G ) b2 {: D1 g& F [* o
var frame, iframe;
) H3 o1 K3 M% {, N% B% ] if (itemFrames.length > 0)' r6 m% [4 g5 }2 }( K
{
7 A$ ~6 ?) d4 }2 Z' b- P5 z2 L for (var i = 0 ; i< itemFrames.length ; i++)
* i. c- ~+ P% ^$ d {: D; f c2 @, C
frame = itemFrames.contentDocument;5 V4 P/ r, B; P# y) F7 }/ A% f- H) X
this.RemoveHide(frame,objname);
7 z5 f9 n% @/ E- ?, e6 b9 x }& g8 i- w, f5 @( D- O
}. }1 w) n2 U! G- J# R
if (itemiFrames.length > 0)
- d: m' ^0 W0 d! c {
" v n9 q+ i3 O8 b for (var i = 0 ; i < itemiFrames.length ; i++)
6 B: `+ b2 H- v- j, d! \9 n {
' ?3 D4 {3 s F7 I9 M& _+ ?$ S1 n iframe = itemiFrames.contentDocument;; [% E# h2 u B; \2 e- ?
this.RemoveHide(iframe,objname); h% L- F3 a. G7 {+ U! X9 t
}7 l! J" D1 I' h& [* |$ Y
}. d' Z! o8 E$ {0 i+ a/ k9 t$ e) S2 h
}
+ c+ w8 \6 A6 x: t1 @% ?+ }; z catch(e)
/ m# |9 A2 w+ Q5 k {! T4 P) |2 t+ `4 i6 I; c- U. n
if(debug); s6 o: n0 l0 ]9 c* ]. g8 V4 h
{; j/ t0 f# p5 F" O* }
alert(e.message);
: h+ B" H. o$ ^' V; ]" x }( @: I1 |- q6 |6 s# z
}
, C+ A- J1 w$ X% v: W; n3 N }; G F8 j4 C! [: `3 ]
# t. m0 K R1 S6 l/ Q. Q
}% e* O( q+ R7 ?" H& t' f
4 N8 m: j9 `8 S& H
function getRGB(colorString)' b$ H* x q* {+ G; }
{
( ]. v0 u0 d, i/ w9 h; p4 R5 x var RGB = new Array;
$ G( U' H( P# }; T) l7 z var tempSting=colorString.substring(4,colorString.length-1);' R* ]- N, |' @
var tempArray=tempSting.split(",");" f4 E" {& J- X. G, \9 v/ o5 l; {
7 _# r2 c( Q" q6 m* Q5 M RGB[0]=parseInt(tempArray[0]);/ P Y' i" z8 a+ T( k4 w- v
RGB[1]=parseInt(tempArray[1]);
2 g9 a. u5 K6 ^& y3 C( l RGB[2]=parseInt(tempArray[2]);' T9 \1 ?5 o+ G" d$ b9 P
4 G. l) I; w( j1 _ return RGB;1 j+ v9 r, c0 |# Z& M
}
* E+ Q6 D! i0 x7 {function keys(evt)
1 q9 p# X6 b/ c6 j0 }& C4 W, V { 7 ?2 X9 N( g O2 N* g, r2 C
if(evt.ctrlKey && evt.keyCode=="81")
0 h1 X& P7 u) t- w7 z- L {
+ ~6 ~) U' o7 J CleanHideObj.on(0,1);2 P9 A' Y% G+ L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 L/ T9 o; [% E% A" [
, n5 l+ I4 j* Z% E, s
} ! U/ ^7 q, K8 [1 G& X
} 4 j. d) p2 O( t4 _+ W& ~% z
document.addEventListener('keydown', keys, false);
# i$ C& _8 [6 A4 q/ @6 g4 I/ MGM_registerMenuCommand ('Clean Hide',
5 O8 f/ J: o3 k* ]3 [function(e){
' j. u& L1 C3 f0 D" A$ K& ]7 l' rCleanHideObj.on(0,1)2 e8 q) I$ U9 j) ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 Q7 m$ \' K Z% S: X});
2 N4 }5 |6 H- ~, U" X* x' l |
评分
-
查看全部评分
|