|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" Q, C% x. r) L4 q0 W% V* e1 }5 x- T: i5 l! O1 X
火狐插件,用猴子0 q& J: L* s5 S* c( ?4 A, M S' x
2 Z1 W( {$ `7 g0 O
var debug=false; 4 J# K' G- }5 a, y+ J3 Z
var CleanHideObj=new CleanHideClass();) a5 l, N: Z3 k+ V6 W$ t9 E
0 B6 J) t, u9 S8 \4 ~
function CleanHideClass()
/ D2 F# d% x/ r. W/ D# _{ 8 W' f/ O) u. b
5 U5 G9 A& S5 b' x
this.on=function(id,bMZ)
% g' r% R# H: @5 y& f J/ q. Y& } {
& J% E1 ]9 t f0 V7 X7 l
5 ]* ~0 A2 F* r4 \ if(id == 0) \: v+ b, [" Q! i8 r1 c* [
{: h% f G1 \/ O% @# ]
var page=/* document.getElementById("content").contentDocument */document;
. i4 j4 K' K* P% [' H$ I- O* V this.RemoveHide(page,"span");" Y0 e2 |) `+ V+ H# D. s
this.RemoveHide(page,"font");- o2 |1 x& w6 e) [1 C
this.RemoveHide(page,"div");1 i, p" V: P: `( G5 y8 ?7 Z
this.RemoveHide(page,"p");
+ U6 D+ |' g9 J E
; O8 l: J1 M7 o' W' N, S }; Q9 W0 x" U3 p
% j2 i' Q- q, T3 j: t
}! s, k" T7 k% c0 L- N: ]
this.getobjstyle=function(node,prop), S& _: b: C% B+ Z2 F
{
# d) o% C" ?! ~7 f- _8 C) t) u) Q try. G+ r( I! l- k9 x* X6 {
{1 L/ f( b" q/ v7 D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* H% X! K- E9 w; Q& }* F. N
}" b6 z& M, ?+ O! x
catch(e)
( d0 t5 s3 I* F& i1 p1 L# P7 _ {
: g, C) Y: e; E* M4 A1 ~ if(debug)
5 X# |% w6 g" I7 C7 X0 J {
8 E: f0 J: e( o; o2 d& s. u' ]* S alert(e.message);
: [+ W9 U d7 ?, E- y0 T }1 x1 G/ S* @; c: j) }
( l, x- e/ l0 r+ R5 G# { return "200";
* q: l9 L4 b: f( W. z) p }* a" T$ w, L8 X# J# k6 |# Z
}5 t7 j2 A: w' ]* ?8 J K+ E: m
( |( f" a3 Y8 F
this.RemoveHide=function(page,objname); j) U) `) L. z* i
{
- y8 Y6 x6 h* e8 T% p( p' d try& O- a, z9 C( U
{
3 O' L* ~: ~6 W* x8 a$ |5 S var minValue=15;
' m$ [& l, E% }5 u var objs=page.getElementsByTagName(objname);
) D2 i+ \1 g! R( n; d+ y8 O; p
, j" {- m- L; v( H if(objs.length == 0)
- m Q( ]7 X2 W {
/ A, e# C8 t$ t1 ~ if(debug)
. a1 F1 M* m; ^! C+ j; W" H3 U( X {) R3 X; }9 @9 f) }+ x- ^
alert("no object found!:"+objname);4 G% M& w4 q7 \& ?% e* ~; Y! X
}
, y) q$ P8 y) V }
; D* x8 P& r% [$ t$ V else
. Y9 r3 I/ ?8 B9 Y' Z, @5 I {% Z4 d* u5 l7 @/ a/ @* T. a) d2 s9 {
; x: ~1 ^; `* c) V( r% c' l
for(var i=objs.length-1;i>=0;i--)
! I% ^6 ^( ` \5 [6 v4 [% L4 D {( i i" o) Z& O H( D. y) F8 L
var node=objs.item(i);
1 C& t5 S) S" w" W3 {; A 6 X; X6 g0 |9 V
9 F+ ]+ @, Z; V' A: H' B% m
if(this.getobjstyle(node,"display") == "none" ||5 a, ~. M- u# c; U# @+ P
this.getobjstyle(node,"visibility") =="hidden" ||
8 g" D* }( J \8 A parseInt(this.getobjstyle(node,"font-size")) == 0)
$ o) f1 D# G! s* L {
4 N& C6 x7 f6 U if(debug)
6 g# g3 o9 W3 E; x$ C1 z) ]) H {' Z. A5 Q# X" \4 M! E: a
alert("remove invisiable!");1 d, X7 d- s) |4 {) b9 L& b
}
+ n; W: m2 ]3 x7 `$ R7 w( J$ f node.parentNode.removeChild(node);
" z7 Q0 t9 }8 T & r: {0 @: k; N3 |3 z1 z
}
5 \8 @4 `3 y/ [9 t else % n, k* b. d$ ^, c X. V, ]
{ E, C0 S2 p4 i
if(node.parentNode)
7 b y8 |$ r% R6 L# _4 d {2 H7 X R2 g2 I! p3 ]# y4 i
var orgNode=node;
& l& C% _& b8 p3 m- ? var orgColor=this.getobjstyle(orgNode,"color")( G7 ~( i8 k& O. Z
var orgRGB=getRGB(orgColor);
7 m0 O8 N, Q, u+ B- O$ j $ r2 Q: k& L+ b0 p2 |% m$ X/ W
var parentNode=node.parentNode! @, o/ Y; H) \& w
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( O# E& S/ a+ G0 P1 H) B1 g- _
* [4 J0 _& h$ J( q var isLast=false;+ P3 s. T6 E& ?
) Q+ h! v7 \. q+ k& v7 y Z ? while(parentBgColor == "transparent")
0 y1 A1 I/ [2 ~ c2 L" K( x {
+ G: z' ?$ @$ u& E
' v! ~2 M% w8 F 9 d; T7 E- C% K. P* ]0 w
if(parentNode.parentNode == null)2 X" o% |8 G; c+ z4 V
{/ g3 q! ?% c$ Z; f
isLast=true;
% Q9 \0 V* D; }- v& \. O2 c! n break;
5 j# P" f3 \1 j2 q }
v9 A! I/ E2 {7 O5 @: V ^- m8 R parentNode=parentNode.parentNode;
0 n$ R3 G; s$ h* Q# Q' L parentBgColor=this.getobjstyle(parentNode,"background-color");
" F& D( F6 y; U8 _1 I) O7 X
) } R1 }: ~$ `4 x, I( p! T( L if(parentBgColor != "transparent")
+ q2 u- R! m6 Q, K4 B9 w {1 }& H) a' b" M, y: U% B& b2 F/ u% {- I
break;
1 ^1 p* v* O: | }
' Y1 ~( B( v6 l4 ~3 R0 z+ n }
( z; q N0 i3 ^( l5 [0 H if(isLast) 8 L5 r6 v7 C& f0 D, g: ^# {
{& V: ?( X& a8 k5 t3 ^% A
if(debug)1 W" ^/ P0 a0 U1 r6 Z( X) X2 t
{
6 G. L; t6 Z+ }2 @% n- w: R alert("last!!");! V5 M& f0 L O) `% }
}
" h7 p& x3 |3 {' K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 r; N, J6 `. A+ E) J8 ~0 O3 V7 u9 S {
+ r \8 M6 N9 R9 z- @/ g orgNode.parentNode.removeChild(orgNode);
8 L5 {$ U8 p1 l% J, G& D6 N8 f }
6 j9 w2 D8 r0 D( y. O; D( |$ m }
) ?- S) J$ a3 z0 V) z6 l# o# A else5 }, i6 o3 U- K5 e. K
{% n7 P' P; _4 B% }* F
if(debug)
/ _: l) G9 o2 A& G { {
' @( }* J) i, N alert("compare color and parent bgcolor!");
" x1 X# x( Y2 Y! z* n4 Q }
8 ?+ V* c0 J1 Q; z2 J; y parentBgRGB=getRGB(parentBgColor);
& R( U7 a3 c2 d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- F4 a$ a5 S, K1 e, Y {4 D4 U; C0 p% p9 ~& ~1 ^ Q" Y% l, I
orgNode.parentNode.removeChild(orgNode); 7 e$ J7 u+ T( Q) V6 |" `' j
}
2 ], |7 i" T! ^# i. e }- ~3 T! H. T7 n& m& n" f' q& K2 s
}
+ E4 s3 i' o2 ? }! B4 R8 d. d7 |8 {( m
}& U; A4 g' l$ k) `8 b1 m% y
}
+ [* O! l! f. \) |: h/ O) E+ b5 Z3 z 1 n3 o* \4 K' `) x5 i1 E* L
$ U- u# ?% L4 y- Q) F) r
var itemFrames = page.getElementsByTagName("frame");
' U; S+ L( u; P: P; m4 X var itemiFrames = page.getElementsByTagName("iframe");
% d4 C3 Z1 @/ Y
5 U/ b+ w5 }! x, Y& q6 [ var frame, iframe;
$ P! C) W1 I4 l! z$ ?! M, L, y. ] _ if (itemFrames.length > 0)
% q7 l' E6 s9 q. Z9 t' l/ H! Z; a) |( H {- z: O5 ^& V$ Y) U) u
for (var i = 0 ; i< itemFrames.length ; i++)
9 c6 c6 D; `1 j# v+ P- { d/ I {
" d0 I; s1 J/ ` frame = itemFrames.contentDocument;: c% C! r+ L, U8 Z
this.RemoveHide(frame,objname);
4 D" p+ P7 v: D. c- a }
" o" M% i% c7 v" S: k! u/ L }% N$ D: r- b9 N- n" E
if (itemiFrames.length > 0)
( D6 O, k0 [ L) G, k {
$ ?# G6 }: m+ m; z4 n4 T T0 ^ for (var i = 0 ; i < itemiFrames.length ; i++) - A% D( a* e5 U ^- I' M, @! R
{
+ F( t9 T/ Y- S( S6 B! W iframe = itemiFrames.contentDocument;7 t g: n4 o( k; w; K! R$ }& s
this.RemoveHide(iframe,objname); 9 M, q/ q: U. @, d, {, [
}
! ]; m' f" y& E' e' v5 ]% Z }$ N8 {. b( d. p: J; Z
}
! Z8 p( n. A: } catch(e)
9 U( ]9 g" m5 L3 j0 _5 B {
8 z! k& V- C/ H8 j7 W0 }, |3 y if(debug)
4 D2 W- I- |( V; m- R {4 |$ p X8 ?$ D5 f. D( l+ [/ D
alert(e.message);
' S% p$ H$ z. t) O+ h }) h6 _: b5 O% P* c
}. M! B, M: k! P: r- b' Q
}* @ e- g$ a& i: {
$ Q; H2 h0 T7 R# F1 I- P$ ~
}
7 v8 l. [3 M: E. {6 o4 ~5 z0 _6 i8 \. U) o; F7 X+ i9 K/ R, D
function getRGB(colorString)
$ y; Q, W( ~) H V. U% a2 P2 I @{
3 @. m0 N( K8 l var RGB = new Array;# Z, r; q* C' o2 D) r& S
var tempSting=colorString.substring(4,colorString.length-1);
7 X$ ?/ }7 |. R3 S- b var tempArray=tempSting.split(",");2 l7 B7 I$ A1 @; s$ I* K# |0 k
7 V: [- c. R2 L! \: y! D) |5 X$ B RGB[0]=parseInt(tempArray[0]);
% g8 R3 A; v2 n+ I! I- W6 A3 ? RGB[1]=parseInt(tempArray[1]);* h0 k- I L2 M' [2 A7 i
RGB[2]=parseInt(tempArray[2]);0 J1 F' i4 Y0 B7 Z; D/ f& [; e
2 W, V E% j2 p return RGB;8 i' n6 ?. W/ _9 x7 p" z
}' H$ ?+ I4 r0 q) v( L' |8 J( |
function keys(evt)
. h. d( O, I+ y# b: t+ l) I { ! {/ a( F |/ Y1 u% {; e
if(evt.ctrlKey && evt.keyCode=="81")
! f8 ~7 t/ \( e: m* Q {
8 ?4 a5 T# S. b2 ^+ w/ x- D2 ~" I CleanHideObj.on(0,1);; \9 o( ^$ i) H0 u" i6 U! [% ^/ d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 F G* y/ K k7 k' ^ u0 j/ v
- C ?- ~8 g* r; ^ } 5 i1 k! s' k& D# X c
} 9 S4 a* i# w2 q- f
document.addEventListener('keydown', keys, false); 9 i; l2 { U7 c+ h4 ]' F
GM_registerMenuCommand ('Clean Hide',5 }8 c5 e7 s0 Z: M' p
function(e){
0 [. S- M, L6 q" yCleanHideObj.on(0,1)
3 X l/ S: R y* r- w3 falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( w |( B7 _+ g1 R3 I
});
/ j: e/ b! M3 f% ]. Z |
评分
-
查看全部评分
|