|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ i0 U. M' b1 A- M" O1 v4 C4 f: ^1 D" T) [/ t, D
火狐插件,用猴子+ Q$ d* e- _2 S9 x( a0 ?$ z0 c
" m9 [; h" h/ g% W* ~9 zvar debug=false; ) @$ W- o) P( A+ q7 \
var CleanHideObj=new CleanHideClass();4 k9 c/ @6 u- T- Z6 j6 C- v/ f5 s
" _: h9 u- M/ Y' E2 lfunction CleanHideClass() 0 |+ G) Y6 M! s# E
{
" @* U" D. x8 ]# L$ i) d 0 B( K) _& n: P
this.on=function(id,bMZ)
& Z' O+ ~: W- W+ m" M3 \ {
) j, h# C+ _2 f; Y) w0 z; c6 s2 q 1 G+ y) Z3 B/ A8 K1 G7 o: Q: T
if(id == 0)
& j/ C5 T5 |* M2 }6 y" [ {
! N; D2 I1 U4 o var page=/* document.getElementById("content").contentDocument */document; ' _( I9 u s5 u$ X/ M4 C5 b- f
this.RemoveHide(page,"span");2 |% f9 T( Z# Y- S( q
this.RemoveHide(page,"font");" O/ g3 L4 I/ _, R2 }+ M& I7 K
this.RemoveHide(page,"div");
/ |" N7 n$ {! b. u% x5 `* h this.RemoveHide(page,"p");" `: O4 ]: P" N' _
) R7 Q0 o* N/ O }+ m) J* M7 L/ _$ \/ l* Y
/ g6 S# G/ X7 x% L$ ^
}
2 {& C* V& _1 U5 e0 J: g! e this.getobjstyle=function(node,prop)
- P( m/ T# X% z4 l* y {9 f" z, i4 r8 Q: I v
try
" ?7 x: J2 f- L" J! P! e% ] {3 }8 |& B: ~ |, y, t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 ]: n0 L7 N% |6 h( G; L, x& C
}( } W/ p0 k& a% K' W
catch(e)9 e# a8 p* T8 C _0 I/ @, ~0 ~
{
/ G. e2 }2 e# R if(debug)
. }/ F: l3 S6 }3 {/ ^ {
$ G4 D p8 g+ X2 c alert(e.message);. c. e! R/ o- U8 O+ M7 x% q
}2 J! S2 e8 I, _) U1 E
2 H! ~3 V, ]% b! \# q
return "200";/ [; c! J# ^% X& g; a: ^
}' g! m4 \% ?/ q0 r* ~% h2 G" j
}- f. T8 \0 w, p) _
! v1 r5 Z% K9 Q) m
this.RemoveHide=function(page,objname)
8 d, z! ]4 m! N& ]- G p {( A* |0 T3 @2 K/ V! H
try
) m" I* z3 r" g6 P* b- L {" j5 a; @9 B8 ^- r3 O
var minValue=15;) N' o/ z# t5 ^5 b# W
var objs=page.getElementsByTagName(objname); ! ^+ t* f# K# `1 S) r
y6 ]! ?: p/ k2 U3 @8 U if(objs.length == 0) 1 m o9 p6 ^3 B$ M$ ^# P
{7 m& |9 r7 C$ s" s# b0 C$ s# R
if(debug) i4 X' N9 i* h# f2 t- V
{0 J' I8 c2 Y$ W/ f
alert("no object found!:"+objname);# m" u1 W2 R# ?) O: \
}. U* _7 @5 e5 |7 f
}
3 c" L& a8 l: m else w4 {' h( N9 F5 g/ D% y
{$ j( e; [) ~3 ~; A/ _
$ i0 V) d% O3 {& O1 N+ v
for(var i=objs.length-1;i>=0;i--) 3 s! \8 y; Z# ]6 i5 V4 x" W
{
: m3 Y" L2 y( ^0 B, r var node=objs.item(i); 6 O. {3 g, f" B) |
$ z& w9 ^! i/ w6 {4 A : l' L8 p+ H9 _" g5 v8 l8 s/ V4 D
if(this.getobjstyle(node,"display") == "none" ||* U9 _: H1 T x' o3 d* R5 Y- M
this.getobjstyle(node,"visibility") =="hidden" ||: e* e1 ?! O$ G- }2 z
parseInt(this.getobjstyle(node,"font-size")) == 0)
, k3 X- t; A* q; g' x {
0 J7 A, y. m$ B: p: X2 k% N if(debug)
5 ^5 f- {6 F% k5 r! ?( ~ {2 r* C; O h+ X) G- x' x
alert("remove invisiable!");8 l! c$ F: ]. R/ e" e% e( U
}# z. U$ ?! P+ {; W5 g
node.parentNode.removeChild(node);' h! @4 W r: o$ ^4 ~
! T0 _9 G! S% ^3 H. _: O
}
9 E! O- j6 L, A, y c8 C! A1 z else
3 R& z: p" f! L {
/ M5 M# J: E9 U- ~$ z if(node.parentNode)
6 o/ i/ b0 s0 f( k {
3 r: T, a5 E% B& p1 h var orgNode=node;' H9 @3 |; E8 G( { J; `& k' n
var orgColor=this.getobjstyle(orgNode,"color")
' y8 K$ o/ n8 D1 O8 u3 W' B! F var orgRGB=getRGB(orgColor); ' E. ^3 p# }6 \9 u f
* h/ o0 Q8 M4 E" J% _ var parentNode=node.parentNode5 `$ _4 l# A8 d* \ }
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ t; p1 B8 N7 |4 c , i/ C7 u% U( m3 N9 @# E3 V
var isLast=false;9 L, f& E' s T2 \
# E, Y. \: ^: L# V( e0 c
while(parentBgColor == "transparent") 1 D* Z! M+ J, p- Q/ o) u
{/ i- Y( ?9 b) ?: o% D
# {5 r' t) u, m5 G + |$ z8 I) i& B# D+ _
if(parentNode.parentNode == null)
& _" V5 W" \" ~9 ^8 A {
; E0 i, {( L$ d. _; r isLast=true;4 J) ^1 U9 ~/ T5 o3 ]& y
break;
+ M" v5 E+ [$ I: O% v }
! b6 c! f- z! Y7 M+ ? parentNode=parentNode.parentNode;- ], O0 A) |6 z! O6 [( M! ^* c5 T
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 [5 O" A+ ?8 ~! |& F# _% L: a
X7 |0 b3 w# S( X* u, {! C if(parentBgColor != "transparent")
& z9 W5 z7 z, `( m5 J {
5 ^, T( y/ J1 M- N( D break;
' d0 r" f& L) C" ^4 s }& l5 R" J1 V e Y ?
}( c& j1 e# o# w$ m; Y- G
if(isLast) 2 D+ `5 D& Q$ y: E
{2 Z8 G4 j" j5 L5 l" L1 f0 x
if(debug)/ c; B; _: R' y9 s6 |2 v8 x; p C
{
- M" R7 e/ i# ]0 T( }+ N alert("last!!");$ z% r7 Y) V5 R( K2 V8 |/ U
}
8 K8 n5 d. O3 ^5 ]* `6 C+ p- j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ b5 K1 ]% W4 x+ B( ] {1 u% d! \/ [& E
orgNode.parentNode.removeChild(orgNode); - e. |( M9 l/ d4 R' X2 X
} R" F1 v7 g, m7 f, p
}
$ ]8 l5 z6 B) _9 J+ S+ U0 R% h b4 ? else+ A( |7 b7 k, X0 g% o' j
{
) v# j+ u$ y, F4 G if(debug)
) H$ U4 V& ^* ~& r {
# t K5 z! D: K" Z. v( F alert("compare color and parent bgcolor!"); K, U5 H& l( K+ H9 C7 _, L+ ]
}
; t- F7 G# N& y! n4 X( T7 Z parentBgRGB=getRGB(parentBgColor);
! Z3 P0 F0 l7 W1 e% f. L; _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: C) ]0 H( Y& p4 |5 [ {! U1 y$ D. d, N6 m/ M
orgNode.parentNode.removeChild(orgNode); - q- ?7 p+ e. H6 g0 c4 v
}5 ?4 o9 Q7 d8 x6 n: I$ t
}/ }# G+ `$ k9 u, a, [# H, |( e, N
} P- [' i$ A' n2 I& F
}, z$ K& Y; o" I. m# a
}" A8 x( E, ^/ }% P
}
- D7 c- o) o+ j" F3 P9 s) d* t
+ |: `. o# P$ T& x1 L1 m0 L $ k- Z, {7 c9 Z; W$ X+ ^1 A
var itemFrames = page.getElementsByTagName("frame");
# P! Y C) _) M var itemiFrames = page.getElementsByTagName("iframe");+ I4 C; i! T# n. ~/ X* j# W" ?, J
3 M o/ V Y* U var frame, iframe;
2 X S9 Z9 ]% T# s: y, e. S4 ] if (itemFrames.length > 0)$ }) t- a- M# n: z7 ?
{7 Q) \6 f: F. g9 E
for (var i = 0 ; i< itemFrames.length ; i++) " S% g! O) z: Y
{
# L0 ]! v5 S7 ^* ^3 ~ a* U2 \" b frame = itemFrames.contentDocument;
* b' F; u5 M [# M0 U) I this.RemoveHide(frame,objname); - D2 L3 h K% K G1 y' ^9 p- X$ i
}: k/ b, T# C5 h- @% y# }4 ~ J
}! e+ m; G5 I" i# J$ ^( {
if (itemiFrames.length > 0)
9 q3 Z) q1 ^+ P7 p( z {1 L- \& F- R3 E' D8 L1 z
for (var i = 0 ; i < itemiFrames.length ; i++)
# G5 |5 L3 p- ~1 s {
" K2 h8 S; w: Z- P% r; [. J1 q! u iframe = itemiFrames.contentDocument;7 j+ c4 j) s, B+ C3 R$ \" D* i1 n
this.RemoveHide(iframe,objname); 1 m* V; C( G) d, i- U, C4 W
}
4 J1 T* ^. |9 P* ~ } Y, `; L* ^* o. i9 M
}
/ Q, S F$ Z0 T9 p1 { catch(e)
( G4 b5 v" [+ }% v {
, ]! T6 h7 ^: K) C% j7 Q" m if(debug)
! w, Z, t1 J9 v/ a/ D1 D1 e {/ n7 }% V1 Q6 t" {
alert(e.message);2 N5 J! u1 `5 h! |5 `/ R( { \
}
* \* u& p) M w6 P4 o }( m S8 o" l- S5 K# l& V7 T! P
}9 V) n9 I- ~; m! q5 \# @
* S" X2 @" V4 I8 r6 P. n
}0 h, O3 L/ |* b P4 J8 x
! y) K1 Z+ K0 b0 X0 D, s# ?
function getRGB(colorString)
. [ f4 U5 F4 F6 L2 I{2 H# X4 W2 S4 G& M7 K' W% M
var RGB = new Array;
. y$ d0 m$ I" Q0 A& T9 E# q9 c* K var tempSting=colorString.substring(4,colorString.length-1);
1 n2 C$ t- g( o+ `5 P var tempArray=tempSting.split(",");! A o: j- L8 P! |( g
" T* s9 C+ [; t; {* F
RGB[0]=parseInt(tempArray[0]);% w; T# D4 G5 P0 I: J
RGB[1]=parseInt(tempArray[1]);( @% N4 v: y1 S9 t. H( ?. x
RGB[2]=parseInt(tempArray[2]);0 l& v4 M$ t- y7 M# Y
. j r- Q* C+ k return RGB;
. |) U4 v- d8 J$ `. t}
0 V( p2 U6 d3 A0 w4 z6 u) ofunction keys(evt) : O+ e" Z) W( ?3 ~, F! }) s2 h) {$ F, N: m
{
4 E& K. Z# {% p$ ? if(evt.ctrlKey && evt.keyCode=="81")
, p4 Q. w. p& W7 @9 k9 } { - J0 f, j. V+ E0 E3 ?* Q
CleanHideObj.on(0,1);* }6 E* Q2 H" h3 R% T" Q. W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 R- U9 Y7 I+ B& z
: M+ C7 E8 X4 @1 c6 p: I2 Y }
( a9 y( g7 H5 A' r } $ r" g( N: I* C* L& [! ]; j7 P8 X
document.addEventListener('keydown', keys, false);
/ x ]$ a2 G) `9 p0 w: T6 s; ^6 p& ]) W+ RGM_registerMenuCommand ('Clean Hide',
. }+ F. {# e) M( `7 ]( k1 b8 }) q Dfunction(e){9 ~0 R0 g; c( }- _& ? c
CleanHideObj.on(0,1)9 `+ C0 F- h9 y* b. m6 t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: A. Y' u8 \" p9 t
});
9 ^& d, X) U" {( U) b |
评分
-
查看全部评分
|