|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ ^& j0 E& \3 e+ y0 A6 b+ E
- }+ K* v g: G i/ k0 @4 W
火狐插件,用猴子; v+ C. Q* ?' q- }6 }
& ~$ u& b# ?8 Q9 a/ O$ Nvar debug=false;
+ }, ~; f0 K1 u. q; u& \4 Cvar CleanHideObj=new CleanHideClass();
% M* }( E/ s2 {) l, X9 b7 I8 x) Q( M, W
function CleanHideClass()
+ ^& W! D4 f6 Z2 ?{
+ q+ B3 ?# ]) V/ w, V3 t
3 ^% V' r0 a% j2 v& P6 m+ a, {( H this.on=function(id,bMZ)/ F1 y* ^4 ? W7 ?. y* B
{
1 K. q2 R1 C* ]' H; {4 j7 }; G
7 Y/ D, K' w B: h3 @ o if(id == 0)5 e( a- A; R4 l* B
{/ d' S& J9 Y7 H7 x8 V* r1 }6 f: \; {
var page=/* document.getElementById("content").contentDocument */document;
$ @4 s3 Q! y% Y( Z; w) a( S& h" q# @& F this.RemoveHide(page,"span");7 M/ r* a3 z' s5 N5 ?1 M) m
this.RemoveHide(page,"font");
% @9 U2 ]2 o9 K% g; S2 E$ Z this.RemoveHide(page,"div");
9 _' H) D/ {9 O: t& H this.RemoveHide(page,"p");
: ^7 T* K5 ?$ d9 v4 q 8 M6 G# X: J3 y- z n1 G4 ]2 J2 m
}! @1 g/ i; k$ m, D
# E% w& o. d i
}
# B; U# z% D6 X4 u3 [/ s ` this.getobjstyle=function(node,prop)/ o4 U b2 u+ a4 C6 i' o3 `5 w
{$ g# i. }) {( b5 y; I
try
5 u# n8 Y* u4 M7 _ {
7 j2 |" h c" t/ X7 v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ ^+ M$ |8 @9 S/ n! L0 V& a }
8 s9 A# W- ]5 I catch(e)0 d2 x4 D+ J# k
{
7 A! V/ D; K: m% A4 y, q0 a if(debug)2 z6 {) g, } J5 B4 O: Q
{
; x: L4 q j8 {/ z) h alert(e.message);
9 s# U7 u' B- X V- f. n' l: T }
; Q2 [ {( l' |; B; C! Y
% {. V2 ^6 j5 D$ {% q+ J return "200";
( h: K+ ^: T: t- A0 R# |) a1 e }% q. O+ F/ r/ y% P3 ~+ h, K
}
: C& l0 U( d2 r " ?# [' c9 ]5 [9 w4 T% t+ t' C
this.RemoveHide=function(page,objname)
, L1 t" l! M' c/ C2 m6 t2 A {
! a$ O/ _, u0 N" R; ~: _; f/ C8 o try
, t1 h1 N0 ~; Z0 i2 j {' m3 f _7 l* b! b
var minValue=15;6 i9 G0 P& X9 P, j$ V
var objs=page.getElementsByTagName(objname);
5 K. ~, ~' a7 y- N. J; w1 X. i' \, U: k8 x* |' j D S2 i
if(objs.length == 0)
0 Z" k1 J: Q+ P3 ^" U+ L4 a {4 y2 Y4 x: k0 N5 D' j; U( ?- U
if(debug)
x3 _. s- |9 a4 i5 |, G- |+ M* E {4 _" h; z/ x! H' t* }+ F3 q: ^
alert("no object found!:"+objname);
\' i* M5 g) v }
4 H3 x& |. T% | }8 \/ V7 M$ [/ I- a4 v0 I
else) t& v' [3 \' d
{
; r" K2 u- U; r# O* m
7 k7 t# }- o% P2 h. `1 S for(var i=objs.length-1;i>=0;i--)
& T$ A) E' n/ ~" W0 C4 W {7 W4 N3 s4 U9 x# [* G
var node=objs.item(i); 5 |. F% \4 I" W
( {; o; l5 u! p& d- E5 i8 i. g m1 Q7 z u I: R' s0 M( V& A' z
if(this.getobjstyle(node,"display") == "none" ||: A; K6 q" n8 u* _
this.getobjstyle(node,"visibility") =="hidden" ||& n% z% X. ~' e$ H$ B
parseInt(this.getobjstyle(node,"font-size")) == 0)
. s% I; j# D/ d2 N1 z {
, F1 g/ K0 W; A1 y# Y5 |& q if(debug)& B5 g2 [- p$ ~. _: `3 n/ a
{) @4 s! ]) D9 A, S" w( d
alert("remove invisiable!");* v- ], [! K) P( A1 {/ d) ^) |
}
6 p( a; ^# R, P' h( d node.parentNode.removeChild(node);6 Z- Z& \$ r9 \% Y7 T$ C; ?
, e3 v* A: h8 t, y4 j }' W0 V& g( `, ~0 G7 c7 y' r( ?1 C
else % f) b" d- i" d) i
{
2 t. a9 ?- U& u3 Q& J8 q if(node.parentNode) 7 R- h4 Q" K, M1 ~1 A. d$ t
{
5 H4 Q* i7 x- v( u% ?. P var orgNode=node;
& e( N( B& ~- B# m0 m var orgColor=this.getobjstyle(orgNode,"color")7 ^+ W+ j: ^4 L! o* C; q) u; A. M
var orgRGB=getRGB(orgColor);
* S0 O1 X7 t+ n3 j0 a$ M
: L& @. I4 v: g var parentNode=node.parentNode
" z: p" O' ~3 b- a+ h. z var parentBgColor=this.getobjstyle(parentNode,"background-color");
& n6 x" A/ c; a: K. ]# T! k
( q/ q" `; ?. M var isLast=false;$ p8 h' F0 q1 b6 d4 Q
0 s7 t' L* ]+ O. S
while(parentBgColor == "transparent") / ^8 r3 L0 H4 ?
{
( H& Z9 N1 y8 M' K$ _7 S2 _7 L6 ] `6 Z/ k$ I _: V- l, Y
7 }( e( B- A) n
if(parentNode.parentNode == null)+ ?+ Y2 b V$ }& {5 ]$ l
{' e! Q" a) \1 o% F* q! R
isLast=true;
' M7 f3 B; I; H" K break;
$ {$ D9 |; S% [. V. l: B3 a }' e' U% N9 V; h7 a" f9 ]
parentNode=parentNode.parentNode;
# Z9 O+ Z8 {+ s: t! M parentBgColor=this.getobjstyle(parentNode,"background-color");' {$ g1 }, y( [9 G5 U
; Q, Y! D) V; B+ F3 N if(parentBgColor != "transparent")
# z( H, S% b" z3 y* x3 i) O {" ^2 d7 X+ l. h: s/ Z
break;5 f# z; h" x6 m+ o; D& |
}" S) m, n' b/ M4 a& _
}7 C% q0 A" J7 W: A& ^' F/ k- Z- u
if(isLast) & V) S9 {1 G# Y y9 p
{9 ^( U; r8 C: K& n$ ~1 L! j( r
if(debug)+ h* M3 A$ g: A! Q) x: \
{3 V9 ~. m& k* a- Q8 W0 v
alert("last!!");% n1 Y0 b, J, ]+ D, h1 ~5 S
}
0 {: `# a) x; J$ X1 y% K1 K5 L if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( `2 s5 ]) x V& n: _
{
2 w9 {, @ v M7 [' u; X8 c) f: ~ orgNode.parentNode.removeChild(orgNode);
v& Y3 W( x/ L }9 i! g5 Z4 [3 U4 o( l
}
0 ~* p4 `5 R% a! M! u else2 {3 Q' C& q' Z2 \* Y
{4 M0 p5 I+ p1 b( b/ W. @
if(debug)
8 [( W3 P# a e8 F: y) C! H {
- n5 Q6 Q0 d0 a6 ]! d( I% M7 N& P# u alert("compare color and parent bgcolor!");& v! U `6 W9 Q8 |, q
}
5 _9 P) w _9 k( T/ o3 h parentBgRGB=getRGB(parentBgColor);
/ ^% A- o9 S8 C9 K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* _+ m7 m/ W# }9 C+ F/ I! n
{
. g% N d- V: L' p8 ^ orgNode.parentNode.removeChild(orgNode); & f2 G0 y6 F6 O# }/ {" ^5 h& u5 U7 C
}
& z$ }4 y( \+ H7 \6 f }8 B/ \* D+ {1 s; o
}' g' L2 V' L. M
}* O' k C4 ^$ m' ]# I& U
}
. _, T2 L0 E% q6 F4 ` }& T; [9 B, I* w: Q( k
/ N: K- b9 e% m: J" g6 i
0 j1 n: H8 ^. i" ~; |; t6 u C6 L var itemFrames = page.getElementsByTagName("frame");
+ x" N2 o1 I( u' {" ^: l var itemiFrames = page.getElementsByTagName("iframe");
1 R8 u. c0 n! J* b: @* T
6 g8 v8 n, M- T var frame, iframe;2 M) q6 \' @6 g2 ]9 z4 s
if (itemFrames.length > 0)2 N6 V, G6 n3 V3 e7 E
{
8 p& D, h7 K" {+ P for (var i = 0 ; i< itemFrames.length ; i++) / `- _7 B4 J* R1 c5 @
{7 H, D* P+ j2 g; w& ~# v
frame = itemFrames.contentDocument;
( K% q* W$ L) W4 W this.RemoveHide(frame,objname);
! u L" X' P% T. X- v% B* t( X }
. i. d e: k6 N: z; X }. n; ]. L7 ~) I. b* F% @/ u
if (itemiFrames.length > 0)2 ^$ b6 s# e1 W
{6 V9 r1 K1 W3 F$ o
for (var i = 0 ; i < itemiFrames.length ; i++)
/ Q" ~/ b/ d% b9 r* V2 f) s {4 w8 t2 Y* {/ e1 G w2 K6 @& W1 p
iframe = itemiFrames.contentDocument;
- s# Z% `/ h# `5 u: C this.RemoveHide(iframe,objname);
) K2 G* n% V1 z+ o2 [ }
0 u% Y0 Y! X( m# {/ Z+ t% e7 Q& q }9 H8 J6 }; b" K7 }' `9 }
}
. @) X( u) ^3 \- e catch(e)) b( b# [/ W! O6 @; m. R9 b
{% s5 `/ G& A! |# j6 ~' t1 V! W3 }
if(debug)
6 J/ F4 K- N. I$ K5 ` {4 z. z5 e; f8 q* _% X# z1 M' J
alert(e.message);
8 |8 b& I- ], y4 ` }
0 r- K6 M# C3 R0 g! B }
8 K4 ~# Z. ]& ~ }
( I# C+ G g% e7 j3 v % [ W' O2 v5 l
}# b) r% G0 b; O% f5 n4 {6 t
; f+ S1 k* N) K2 g) ^" Ufunction getRGB(colorString)
$ d3 V# w9 |/ X: B% B{- _# z1 } g4 {+ b
var RGB = new Array;8 n& G- C, s c: t! Q: q
var tempSting=colorString.substring(4,colorString.length-1);: p( O; [' q# ^( o
var tempArray=tempSting.split(",");
/ C$ s( A+ S! { h* s% m0 |& X6 e" w0 n: M" r. f
RGB[0]=parseInt(tempArray[0]);. t3 H3 ~- Z5 j# L9 x, n8 x' `
RGB[1]=parseInt(tempArray[1]);
' i N3 X/ O+ x; j2 R8 h RGB[2]=parseInt(tempArray[2]);3 d, A- `6 N, `" ]6 { i
6 I3 p' w; ?! R- e
return RGB;% Y8 }3 j& B" L1 Y. ^6 d) a; @5 U
}0 x5 U; q" b3 Y$ n$ D0 A4 H- c
function keys(evt)
# b9 w8 x3 {6 i) F8 k { * ]6 {7 K. e) Q
if(evt.ctrlKey && evt.keyCode=="81")
$ K* d0 m; u7 C {
2 J5 A: D$ i* C5 O1 m CleanHideObj.on(0,1);) A. r5 f: o8 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* n6 C7 f: B* Z/ B( |: R5 U : ~8 m7 l# [8 x/ r2 k- k
}
$ H' X1 x" q* x/ a, K" o }
' C- A- M: F" j" M |2 e Fdocument.addEventListener('keydown', keys, false); - ` t" s. w3 J' r' }0 v% g
GM_registerMenuCommand ('Clean Hide',; m& V* ` z, W" }- X
function(e){
! D# @6 V$ ~. g' w1 M+ ?. \CleanHideObj.on(0,1)
, j( F# p2 G/ }6 b- l; c1 Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" ^1 ?8 G9 N- Z( _$ v});4 Y' ]+ E% A6 J
|
评分
-
查看全部评分
|