|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 Q* O/ @1 }, ?$ \ }* t) K( A3 l
k% P. A5 T- i+ a; N火狐插件,用猴子 N8 c- m4 C. n6 S7 ^% X
3 H) Q& P6 l, S* g' X# C% Z& Q0 G7 w
var debug=false;
( c6 J0 b+ d/ x6 J& `0 Ovar CleanHideObj=new CleanHideClass();) i+ b9 } n1 L' \- ]
% d/ \& n& h' F/ J" [. |9 Hfunction CleanHideClass() : h2 ], W$ r; l6 L4 |
{ & u' [4 I% k: A
' a& I. a6 j6 @+ I: ^$ |
this.on=function(id,bMZ)$ f9 `' L+ I* \ F$ H5 F
{7 D. {$ l/ j" M w9 g1 D
1 L0 o& l) V8 i if(id == 0). T% w+ j- k8 D/ r
{/ q5 `$ F3 K* B7 o' A
var page=/* document.getElementById("content").contentDocument */document; $ ^5 T# j R8 L2 P
this.RemoveHide(page,"span");
/ I$ n6 g" }+ e this.RemoveHide(page,"font");
) Y2 s9 u, ~3 E- Y. V this.RemoveHide(page,"div");% ~; J. j/ d6 R1 L6 {& ~+ {5 h
this.RemoveHide(page,"p");
/ K% G5 h# _/ |$ R+ c: k+ t, \6 b
" E4 z% [3 Q& V9 \# I8 f }
+ |& q# d' y( C, V. b2 H, a2 s " u- l: S. \, I" c; k0 ^
}
# s0 p8 |/ V" k T this.getobjstyle=function(node,prop)
. f; q1 l2 R1 P& f- `, V1 p$ e {
$ E- B! V3 ^ T3 K8 b1 ^ try9 Q1 v; h; q4 X, X, {$ w' m
{7 g( j+ _' Q! p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ I+ J. _& q; J; b6 }
}
+ g. M* T, X1 F& _9 A; s catch(e)' y3 w& o' u8 H6 L2 x
{1 D. U" @: \* n. U5 ~
if(debug)
9 S& h2 B* c& } {1 L- w/ A/ v$ b7 N( q+ n0 K) }
alert(e.message);2 `9 `+ d* A# `
}: a0 n3 k3 @+ ^! |0 E9 I, U2 L
/ L; I$ S/ \5 |! R- t
return "200";7 w3 T; z- m* Z! U3 o( l
}
8 \% R) X [/ q. j% l3 c }( _! H, p2 \& d
1 P _! h+ O0 A* j: R6 a6 p
this.RemoveHide=function(page,objname). Z* p5 j5 {: V* X7 G9 i0 k
{9 E7 k+ M& F1 X
try
; a8 b- o5 g1 b; u9 R% X {# P g! D& ^6 z2 b
var minValue=15;; v- V6 s2 _/ S% P, K: z$ Q
var objs=page.getElementsByTagName(objname); # n( K* U; a* I% ?9 i. O. ]( ~( h
4 z3 S$ p, }" D+ e) n% ^6 B if(objs.length == 0)
4 M1 o4 [& }0 ~4 \5 |+ I {5 |! u% P) {- {
if(debug)
' \. E8 V$ h2 e' D. F {. f2 f9 R# C, G2 Q) v- T& P& o- U; b
alert("no object found!:"+objname);( Z/ l0 m8 ~1 D) }9 V+ x
}3 U$ i3 u$ G% C5 O
}' e: B7 q$ ]" f1 T
else
$ V% I$ d6 j3 |4 b5 k { A6 M3 S- z# n1 m Z; M
7 z2 T9 c$ l; |2 ?, }
for(var i=objs.length-1;i>=0;i--) : X9 t* v/ w) L( |! M# x; d2 d% Z
{7 l3 V. C1 L4 |" z1 l
var node=objs.item(i); 0 X/ ~6 t ]9 O9 f
3 @1 r( [1 K5 O# f9 S z5 U
* N( D4 k: A0 [" ]9 O if(this.getobjstyle(node,"display") == "none" ||. x5 J- u5 o/ l: e, f5 D5 F( S
this.getobjstyle(node,"visibility") =="hidden" ||$ \. t( m& E' E9 \1 B
parseInt(this.getobjstyle(node,"font-size")) == 0) ' h% F$ e# E( j$ }0 n
{
: u3 W' g h k/ {! O" c% B9 F if(debug)
( W& j# g# o$ A& h7 l, C { Q3 ]0 H( S$ O
alert("remove invisiable!");
' X6 c# o7 }) t$ G3 X6 T }
; p: ^9 I) p- t: H. {- e2 O node.parentNode.removeChild(node);
8 C/ U% D! V F1 V & q+ n1 y5 }+ K: w2 q
}
4 \3 r& u* [8 m' e/ @; i5 [: f; z" _ else ) G2 x. |0 t* j/ B4 W/ D
{6 i5 l6 N" @& z7 I
if(node.parentNode)
6 b1 V6 ]$ x" ]9 P h3 j0 |& s" t {
3 d7 e( n# i( W7 a# \ s* E var orgNode=node;
. P0 T" d' S+ E6 G. f' u: a+ N! w8 W2 N var orgColor=this.getobjstyle(orgNode,"color")* j/ }' X |7 c6 T+ T$ b
var orgRGB=getRGB(orgColor); % F E# R3 R+ O/ @ }5 K
, ^ f: u8 Z5 d5 Y+ s
var parentNode=node.parentNode
; S1 T/ H8 W* p7 Q0 w var parentBgColor=this.getobjstyle(parentNode,"background-color");, s9 M" V; N" w. \* Y
$ F0 B! }( q" C$ ?# F
var isLast=false;
! P! z, h' T- M0 N( o" Q
$ i6 B( |2 P% ]7 s; m8 d while(parentBgColor == "transparent") # S4 l+ C4 N) R! l7 C$ [
{+ S+ c" t$ N. Q i1 M6 u6 q
5 w9 U1 M/ k7 r9 G% t* e3 P. g
! W1 P4 ^' `: Y$ B1 p8 ~
if(parentNode.parentNode == null), \0 l$ P$ A7 f6 b, O- k. n1 k
{8 J- W4 Q/ f6 D4 ]
isLast=true;) K- b5 y2 ~; n" f0 L
break;; M4 K! {/ e5 q& O5 c& R. D. _
}
; K$ w+ @$ l3 t- J parentNode=parentNode.parentNode;/ j8 U7 e' v' {8 ~( ~) }" h0 @. j
parentBgColor=this.getobjstyle(parentNode,"background-color");: k# A4 @. p$ L: p
7 b$ Y$ a8 [/ ?6 t0 { H. S* }5 `$ X
if(parentBgColor != "transparent")
, A2 s, A4 T. i1 i {
k6 z' d; [8 O9 Q9 J break;
; h; x/ a G, H& [) Y2 i- \ }
5 o3 u* ~7 u/ H; l( I }
+ g# v# e8 q9 `8 E7 Y if(isLast)
0 O% G1 t0 l0 N5 D" n5 s {6 `, A, j8 n% o5 V+ p( I
if(debug)
# i6 e* q5 a' E# }% b" v' ?% D {8 T1 |: C E A7 t5 ~! P
alert("last!!");
1 Y0 ]( g7 I) a* B' p- z }
1 e5 i9 T9 C7 _2 v; f( G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 H" Z& {6 s% d0 `( k9 s/ d9 ~9 _
{4 r) j" L# |, B5 F& k
orgNode.parentNode.removeChild(orgNode); & o1 ^2 R% A1 U0 @) ~8 C T
}! y5 m7 r$ v7 C/ ?
}
/ h; U( h; f0 \; U else
8 c' A% _5 O" a% w/ Q) F {3 R3 w5 @2 P) q- F3 y' E
if(debug)
2 q" L3 d2 k; w4 @- K2 f0 C {$ Z0 r4 B1 q. l; F) A n, g" A
alert("compare color and parent bgcolor!");
( H$ G6 r: C( f7 d1 z }+ y/ `4 A, Z, T" z
parentBgRGB=getRGB(parentBgColor);, u; o# g4 c! g: O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 X& g# }$ f9 r. j* }( \
{3 C" d: k3 N' G# d8 p5 f
orgNode.parentNode.removeChild(orgNode); : s% @, e7 [ H, ~ }
}
; U$ E; Z9 m: j }& `, i" D0 V1 X$ U
}
g0 d, @* l6 P5 |, y8 |! [& w }
: |+ z% h& R* Q) @' q- i }
# t% E4 s) _9 ], A" I3 o! `9 m }+ t8 p. \& W$ J0 m
J5 t* A; b* J4 L& j( v
( G y2 E& r8 h var itemFrames = page.getElementsByTagName("frame");9 a' Q: L# [. Y5 B$ b5 T, s3 N
var itemiFrames = page.getElementsByTagName("iframe");
& j3 X4 R- A" I' r( g1 s
/ ?9 b! W9 w8 Z) P p var frame, iframe;
$ ^8 R n$ t k if (itemFrames.length > 0)
9 P$ k% \2 \, x' g {! J: I# b/ @) J- a' X7 { J! F
for (var i = 0 ; i< itemFrames.length ; i++)
8 N- h$ i- r& Q% b9 o" o# O/ M {
- B H9 _ b* a% \1 ~0 g frame = itemFrames.contentDocument;
" y d9 i$ N5 Q& v( @$ n; h this.RemoveHide(frame,objname);
7 O. ^$ D' Y' R. E. s+ O: E* ` }
* J9 A2 m! m0 C2 Q0 K N6 h }* \( R5 U9 ]: F `- `
if (itemiFrames.length > 0)
3 Q8 z' _( r7 R+ s: U. _- t7 _ {2 {8 u8 v ?8 J8 r7 F: M4 T/ g' F& H
for (var i = 0 ; i < itemiFrames.length ; i++)
$ z) S6 C1 U2 M5 Z! s {& C8 M% t h- t# F8 ~, l4 P1 J3 i
iframe = itemiFrames.contentDocument;3 ~+ v' O! i8 B8 t
this.RemoveHide(iframe,objname);
; K4 j a: Z. v7 D- K }
8 B7 v) f1 j7 \0 C }/ n' Q4 R# r4 G" D2 y6 s5 a$ c* @
}2 B; r5 D5 O' w. J- |$ r
catch(e)7 W8 N" `: Z; ]1 W+ `# I
{
) L) \! y/ S7 M( C: M( k if(debug)
" D/ v: I8 t7 i( _7 I( T {
7 ~6 J Z1 @9 u2 a7 M: d2 Q3 d% w alert(e.message);; C8 R2 G) o. b$ \1 V- B
}
; h) L' p8 {. r) M }# O1 G' J- l( p3 V
}
/ I) [1 s* W: Y/ r* J: z ], l* O
2 i7 |+ i# a5 F% s0 t' O}/ [& S7 `9 H: R$ l* [& ]9 C! b
6 ~5 D5 }& m. L- }* M, vfunction getRGB(colorString)
0 n- T' B* U% ]9 m- H# N{
" B. T0 _0 h, m+ B! Y) E: ~( G var RGB = new Array;
- i+ O1 F i& i& g" c% G7 L; n6 L! s var tempSting=colorString.substring(4,colorString.length-1);
: @) u! g: R1 g" W, y1 N var tempArray=tempSting.split(","); @" g1 [4 w3 {& D" K- J5 X% R8 @
+ {- b6 R# R" }5 {$ Y2 n: ]3 D RGB[0]=parseInt(tempArray[0]);. b9 J! I) d" f( v1 n
RGB[1]=parseInt(tempArray[1]);
8 q H7 Q* y k1 K _6 h- `8 x RGB[2]=parseInt(tempArray[2]);( j s2 J. F5 h0 B5 t9 @- a
0 @% e+ e4 j! z9 d# q, V2 e$ ^
return RGB;
( {- I+ ]6 q- p1 y# E' @% p}$ r& J+ }+ D7 R9 R5 e$ g9 X
function keys(evt) 5 c k* V" c T
{ . c' s) p3 T( b" a5 J' R
if(evt.ctrlKey && evt.keyCode=="81") : }8 }" S& o2 g0 i' l; q8 f z
{ 5 F% V6 M* \, t8 s2 M+ c
CleanHideObj.on(0,1);
8 n0 t+ o9 C& t; j- y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 E& h4 v; `7 W( a8 x$ q& a # g' r$ F, s8 |4 k3 C8 `* O8 S
} # p- p9 K5 ~; `: C; w
}
! T% D& |5 |6 C, g/ R& _5 ?1 [document.addEventListener('keydown', keys, false); # C/ V7 `" t5 D
GM_registerMenuCommand ('Clean Hide',
X2 c) {4 N6 \" D' }function(e){
" y$ D& z1 N0 j9 \0 d' B' Z) I, ^CleanHideObj.on(0,1)
8 \$ S6 ]$ X: _$ A- ]4 }# falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; Z+ |" R1 ]5 U5 i( b5 s});
: H. `& @- u, T" {; z: t6 s& C |
评分
-
查看全部评分
|