|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & _% @0 n8 m1 a3 w. _7 z) h( l
* a, ?+ W( o, [火狐插件,用猴子: w6 v& S0 R3 Q* @! X* d
! `7 G- E% W% T- kvar debug=false; . w8 V/ y6 L" Q. H% C2 v5 C) p
var CleanHideObj=new CleanHideClass();) M- e$ w3 E% B) E
0 y: N- P6 o- _, e8 b
function CleanHideClass()
( s0 Q5 o" [4 \; a1 k9 t{
4 _: V! K: R9 X7 u9 r7 B ; ? K- A- A& I9 T
this.on=function(id,bMZ)
" H# ^9 S, Z4 h C1 p5 G+ ~5 ]* u {
+ {! s. O: N' f# l2 u4 {
9 B) W) N: m9 L9 k2 r6 A5 ] if(id == 0)
& x5 J8 v& ]& d4 w" [! W" ^1 I {
$ j1 Q3 @. I; x: K3 J$ W var page=/* document.getElementById("content").contentDocument */document;
7 U- d) F; X/ [& P! S% o) R this.RemoveHide(page,"span");( t$ T! @ B+ y+ S+ K
this.RemoveHide(page,"font");
1 n( X; s9 T0 | l5 V this.RemoveHide(page,"div");* s8 m1 P* ~ k" S; e
this.RemoveHide(page,"p");0 r8 S$ _/ T: h) k/ }' g+ s' E, s
[# D7 D7 L4 _' F8 n
}& g* i0 l+ M i: F4 `1 Q+ Y; j
* |# }# A* \ p: Z- I& t
}' b% J6 n* ]5 o* H/ |3 S
this.getobjstyle=function(node,prop)
: s9 t9 B6 U' h {, |& o' p$ I6 k1 h+ } R+ b4 A
try
9 m/ k. W V3 p" X8 Z {
+ ^9 Q; D9 e" I3 a4 X/ Z: f' f) H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 c. l" B# K* |7 [9 M
}; u. _$ i! O2 t, O3 c" ?
catch(e)" Y' e1 B' p% A( l: g, U* w9 h, S
{
1 b2 p: \' {! w. C) x if(debug)
2 R! @8 z, b) O& V+ R {
$ c9 k& I8 Z5 a" | alert(e.message);
( [0 N; C4 M# t# a4 _ }4 H' k$ p7 i. @' a9 L! Q* z# O
5 \- t' Q. L; l( b" Q
return "200";
( v! x& o$ k4 w0 x y }
0 G: S7 X+ u8 e5 g6 w' t }' p/ j* c3 S3 _& Z5 o
, [8 p* n" e" w. ^$ J. n* f
this.RemoveHide=function(page,objname)8 A+ p2 _) d* p3 @1 W( Y
{! |. n3 B$ U2 C S3 @/ @9 K6 [
try
7 a2 J0 W+ P0 D8 K7 e4 R* g# T% \ {) {4 n7 W9 X: T) J5 D7 v
var minValue=15;0 i! W' R+ i. Q( A7 {
var objs=page.getElementsByTagName(objname);
/ D& K2 m4 ?: v6 b5 Q4 J% Z
+ p9 V$ g8 B: R2 ? if(objs.length == 0)
! i* x4 z/ Z, u$ Z {* a4 Z" U, @! ?9 C) K0 K* ~
if(debug)! {$ c& k, B9 J' {. r
{* P. @ d p* S" k" r
alert("no object found!:"+objname);
. Z A; O* O! x; S6 B }
( V5 @2 C8 \' O }
3 W% _2 V3 l# _& r: H' [ else+ z- i2 L& A/ ?: E
{# D& f) Z) X* @: _
2 U; W% H) A0 ~# ~ for(var i=objs.length-1;i>=0;i--) + } U7 C4 p1 s* G
{
, j* w1 }. j7 Z& E6 w var node=objs.item(i);
7 T: s1 e* V3 a. v1 g0 W
9 ]) e4 }# d e$ S2 l# ^ U 9 q5 b6 \- @9 K
if(this.getobjstyle(node,"display") == "none" ||) v. p; [% h9 F6 {" K* A5 X7 I
this.getobjstyle(node,"visibility") =="hidden" ||; s, z3 ]! E$ G& l3 ?$ M/ ?8 E
parseInt(this.getobjstyle(node,"font-size")) == 0)
; `& r4 _; ]8 D6 i3 Y. a {
8 T" V- L6 X/ O5 T if(debug)
1 J9 z5 W7 W0 k7 q2 _% A: V! p* `: l {
% z8 t5 m) O x alert("remove invisiable!");
( D' a+ r$ Q. W" E( b. W; I+ G }
8 {# S8 C# ]& V$ }' \ C node.parentNode.removeChild(node);
! J: F: ?# u9 J. p* C8 b( e 9 y7 @- U; E% W. h% l+ D) v
}4 y i# k+ h; M3 O$ E
else 8 W" L5 X9 Q) F* H: z9 f! z
{
9 }5 I- F, P: I0 `; E8 @3 E" E if(node.parentNode)
7 i3 n; c: [2 i1 P {
! g$ ?0 n! h# [6 q4 H4 ` var orgNode=node;
; g0 u' f9 ]) x- S. u var orgColor=this.getobjstyle(orgNode,"color")
, H! \) u, z3 J5 @+ f var orgRGB=getRGB(orgColor);
6 t$ V! x7 m5 H, B3 g: I; u+ `; e
9 V* u0 m/ S7 F, ?+ b var parentNode=node.parentNode
% C4 G. b. d' O5 T9 W; t* r var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ i) ~7 `4 i0 m6 x
8 d, |, M9 V7 O Z var isLast=false;. L# _# W* p) ~5 r @
+ U$ I% |" x6 F G, K9 ^5 s" R- | while(parentBgColor == "transparent") . B( |0 K d8 i! P/ Y1 }
{
: g& |# Q/ r- V, e" U ( k* f W" B8 ?/ k! j% N3 j
3 W. P1 g1 m7 q& _" [# `" g0 w# M% T
if(parentNode.parentNode == null)
" y2 i6 D! ~/ q3 i7 a+ Y {
) x# v! J* u* _! |1 I" A- V isLast=true;4 {' V$ i6 B; r0 E2 v
break;5 b6 I; C$ V% X8 @# q- }: i7 j7 F
}+ ? O! C/ K2 A1 \
parentNode=parentNode.parentNode;
: n5 {% |% T5 A) h- b1 M3 M parentBgColor=this.getobjstyle(parentNode,"background-color");
4 e4 G0 w4 J) j; y) K f) _/ }/ I$ i' M7 P) @* ?; W
if(parentBgColor != "transparent")
0 m& ~; k- b# Y# J {' Y2 a( x1 w0 \. _% s* i
break; p: j" ]2 |8 X% v# O5 ^% q
}
4 X8 R7 o! \4 n N. d- K }1 T6 R# | \( W3 \
if(isLast)
, a+ y$ G/ m9 j" A6 H* A {. V6 a3 ?3 {% V' {- e
if(debug)" x9 ]( X2 ~; k) @& a
{! T0 r) g5 X7 f7 \6 T/ o8 M
alert("last!!");; y5 v2 U L+ S0 ]# c6 @4 h) \' ~
}) s, G0 W& @) {! u2 m9 I( j5 Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( N; C# j/ m, l& j0 c7 t {
: k, `5 X' n" n orgNode.parentNode.removeChild(orgNode); 5 L+ s( n9 J- `% j+ j' c
}7 k4 Y5 U J* \8 x
}, N2 ? p9 ]" p/ x/ O) l
else
; J9 c8 e- i$ d2 q( B$ r9 n) a- |) X {
( P. H# H# X! q if(debug)' Q4 L- K* X: \) C$ V4 B
{, j0 ]! U5 P5 x& C
alert("compare color and parent bgcolor!");
* P2 c! e4 p. W0 W. h( V* E }
0 {2 r3 D8 x8 M' [/ j5 j- J' y parentBgRGB=getRGB(parentBgColor);
9 V7 N' L! q( w) r: ]5 s% Y8 \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 ~6 M8 `! O* i S8 G3 i7 \' x
{
, M. ^! p# q( L, T3 J/ o orgNode.parentNode.removeChild(orgNode); 0 a3 j1 z2 k: h9 M0 O" \
}
( Q! F( A" C" @$ @ }
! Z9 M( ` s. T/ i/ V S- A }& Z. ^8 k# ^# l/ P& O
}; G& d1 d; j' y0 P
}
* w, }- \6 D9 ` }
) B0 g3 h6 [) ^, J8 d5 r1 Z) E , ]' k) _/ j- X2 ^# T
: @! L. L+ x8 x( D var itemFrames = page.getElementsByTagName("frame");+ T/ f2 w& W0 f B6 M8 ?, s
var itemiFrames = page.getElementsByTagName("iframe"); t. c& R; W! M6 s+ C2 c8 q5 h3 p
4 _0 D. Y/ T. e$ c0 l' ~* ]3 s0 h var frame, iframe;
4 I. I0 r o9 v+ t& M5 ]( c0 K# u. t if (itemFrames.length > 0)- }' J9 D- R* n8 _0 u
{- c9 @$ y& ~7 e1 E' W: C
for (var i = 0 ; i< itemFrames.length ; i++) / L; ]9 l/ k, g1 J' Z& E% _
{
& d5 _' M8 N2 w& R frame = itemFrames.contentDocument;
7 h# V& j5 ]- k) Y# d this.RemoveHide(frame,objname); ! q' a3 ^+ [4 T/ ~+ p. X( i
}6 `, b' b" g2 m6 B
}5 n0 a; |/ Y. r3 j+ V; `! g3 a
if (itemiFrames.length > 0)" `8 @* z" k1 e: S
{/ ?+ ~* w8 |9 F
for (var i = 0 ; i < itemiFrames.length ; i++) & {, {7 {5 [6 w
{
! A' P. n, q$ u9 O" M1 Z* b: y iframe = itemiFrames.contentDocument;
$ t; T0 `. O* Y$ c8 H9 X# `7 y1 c this.RemoveHide(iframe,objname); 3 a3 f: j# n9 ^, d5 b" m U
}% \, K+ j* L8 l7 o6 a
}2 q9 z) j t! w
}
- V7 x. P* T- M& w) W0 C catch(e)
+ J3 W j- Y: r5 b. _, U$ v {
+ d' w, W- u' Q2 i( [8 g) N if(debug)( J% D0 l9 U d# F4 Z. z, u
{
( s% }# {' |; e7 W1 W7 F* G alert(e.message);' h8 U5 b2 {7 w4 c! E
}
: u. m4 g. M8 ?/ B# l% H5 x }: o: O- g: p; c
}
, X6 H' f: s" a+ M Q l % ^% x; I0 k% f) n7 P8 K& O
}0 n$ ~0 f& ~, ~8 @9 [' |* C
/ C+ M/ s/ Q- f; {: E# Q; N lfunction getRGB(colorString)
7 `+ \* [+ e9 w4 Z4 c; t6 l8 c{
8 f6 V8 c ^0 Y$ a$ S var RGB = new Array;
4 m B. \& _7 u+ b' I var tempSting=colorString.substring(4,colorString.length-1);
7 U Q+ Z. s- A6 b/ j+ }9 B- s% y var tempArray=tempSting.split(",");
& _, o+ M u1 I
* l! _& E6 d' F, V RGB[0]=parseInt(tempArray[0]);" _' b& ?9 Q& L
RGB[1]=parseInt(tempArray[1]);
; n3 U; V$ R- B7 I& ` RGB[2]=parseInt(tempArray[2]);
) c1 s3 r* z2 v - \( G& O/ J0 d7 F: N$ [
return RGB;
) k2 o" S2 w/ _/ k/ A% b}
% r$ a+ U6 R6 L7 x# f) D3 efunction keys(evt)
; P8 G# J% {2 h; F- W3 Y8 e/ Q {
4 }: [0 Q! ^- e/ a% z/ r if(evt.ctrlKey && evt.keyCode=="81") 6 U* l5 T, ~- i0 H+ t* j
{
* {0 e1 X+ l7 Z CleanHideObj.on(0,1);
3 g$ U* X6 I1 }6 O9 h! s alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 S4 i c2 E3 b b; I
# o+ l! o& ], u2 ^ P
}
" Q' B+ }5 L, J1 D# R/ T } + X4 U! C$ v+ y
document.addEventListener('keydown', keys, false); 2 W5 P! |1 c' ]( E2 S
GM_registerMenuCommand ('Clean Hide',
8 m; o! \& P& Z* \function(e){( x4 N. Y' v0 W J3 P
CleanHideObj.on(0,1)
0 m: z# m; {5 Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 q) a( A4 a4 F& o5 C0 M0 R& W});
, G* |0 v i4 W: x6 D' t2 d |
评分
-
查看全部评分
|