|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & r8 g/ F: r& v2 G5 w6 E5 t2 {
( U+ S$ z( N1 x, N% _6 u
火狐插件,用猴子- Z! b8 o" |" W& W
, o$ y, i a! Y6 U: d* W4 K) pvar debug=false;
- C7 b7 ^* c& y1 W* A+ E% x% Q, V# ]var CleanHideObj=new CleanHideClass();
: O4 e( M+ X1 k* r( j6 b7 S& o* I3 x$ C" V- K$ g% l( h( W- O
function CleanHideClass() : D# f0 C; P0 `* C9 w% V: x; Y) C
{
& g' I+ z( {& U- D7 J9 s" E7 y
j1 h9 v5 s& y. V! c+ \' n- n: D2 T% f this.on=function(id,bMZ)) P* K# O+ U/ P7 J6 ^
{
+ d' \: z% s8 e' ^+ i f% f 6 E9 o" p# ?- n1 f) C
if(id == 0) X& Y1 P9 {5 p/ t
{% _; m9 K. ?( K! C* ]
var page=/* document.getElementById("content").contentDocument */document;
' N/ }# p; _8 Z& `+ v+ ^ this.RemoveHide(page,"span");0 i, v' X5 y4 ~+ R1 q! w( Z: C
this.RemoveHide(page,"font");
' w; _6 p4 s3 Q% ~0 z this.RemoveHide(page,"div");( F+ ^3 V6 S5 V5 r9 r
this.RemoveHide(page,"p");
) @* s0 f* A/ H i C! _
& P4 K& _8 h1 T8 ^ }5 ?/ q9 [& j; H9 y$ k
& e) B0 _/ E) @. i, n$ } }
/ y. k: }* G( x0 m this.getobjstyle=function(node,prop)
$ v3 A6 D- ]. P' U- D {
+ }( r7 j2 X. E4 A. K- m9 e* N' \ try
: V2 i9 Z5 p. y {
, M- T* ?$ N o. _7 v- n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( @ y# W5 o) c' W; Z0 w/ q }
. \# h) R2 f4 d \ catch(e)8 ]" N A% s. ~9 x9 ]5 {0 i7 r
{
% {8 A: ]0 r' O3 y) ]% ] if(debug)+ p8 O( }' \% @8 C
{
% U3 i) X o+ ]. Z alert(e.message);
, o( W8 w* ]- s$ T0 Z2 s) r( d }( C7 Z. c! _5 g& L
4 `0 \ l V) i) T! h! E8 Q
return "200";
2 e4 A4 M6 d4 `9 X3 J, m }- q1 ~: \6 W/ o: V5 Y6 f
}
/ D: R- J* Z; s) O: h) x4 D ; y4 H6 [" p. n: P1 r8 F% X& @. {
this.RemoveHide=function(page,objname)
3 O4 [8 P4 Q+ Q% H1 L$ S% n {
8 q$ }0 n. E1 I8 n2 O* c$ p$ _. B try
7 m! X& E! X7 ]) K0 x6 K { A. c! \9 S! J- i7 H/ d
var minValue=15;' K, W0 T: C8 @: u
var objs=page.getElementsByTagName(objname);
1 n1 ]8 A. K. R( j% P* F5 u' p* G7 |1 V
if(objs.length == 0) 0 V& {6 e. X# ^6 D$ u( x* B5 O
{& v0 Z8 a( M3 u: V
if(debug)
4 W; r0 w% r# l# i0 p {
& Y( ?8 S" y& X6 r alert("no object found!:"+objname);, x, c1 E5 \2 ^ s% x3 b. s
}% D- ~7 V0 E7 b4 m- P J
} S' x7 h' s4 r
else
) E }; j7 c/ w9 i" x {9 P/ i5 @7 _! d- {/ a- Q
' z* M+ D$ v* X9 U$ O for(var i=objs.length-1;i>=0;i--) " w( F' |. k5 F, i) h8 X# c. ^
{
" p* s1 }9 a7 Z2 {( p0 Y4 J4 W6 m var node=objs.item(i); 1 v: d3 [6 `. J8 C3 ]9 U. c. ~; J
7 l; n h& ?, E
" L! i; |% P+ _" C if(this.getobjstyle(node,"display") == "none" ||
6 S1 F( U% x' d) u4 s this.getobjstyle(node,"visibility") =="hidden" ||
# S. M9 p1 l- M, B) _ parseInt(this.getobjstyle(node,"font-size")) == 0) & t3 g* }% D) T! [ `8 w0 V
{
& A" {# v% C0 r4 V1 G) e( h if(debug)
- r6 \/ m* w6 X3 K" ] {+ K/ q( O& I( j( B3 W/ a
alert("remove invisiable!");1 |% G P" H# `- C# I
}
f1 z5 }+ z+ j) s" b7 G8 P node.parentNode.removeChild(node);
2 y x( O. ]" K3 Y
8 y/ `' }& ]. y- |6 ~! K y }( g8 z- v; v L8 W& ^
else 5 |( i$ x( n% v: Z; T) l8 J% p2 g
{
6 R, w! M4 u( @' P if(node.parentNode)
5 U, |0 f" ]" d+ q" T {
/ G/ y n' s3 U) Q- @( Y% D) _ var orgNode=node;
! M- ~9 @% _3 N2 C+ _ var orgColor=this.getobjstyle(orgNode,"color")
* ]- r1 o# |: ~* s9 g9 s8 n var orgRGB=getRGB(orgColor);
* x. s4 u' t! g+ {9 S9 S$ }1 P. \
9 T% p" ?. J7 G# Z7 f/ v8 y var parentNode=node.parentNode
- ?$ u, j! p4 T7 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 i v3 |& m0 K9 e" N 4 z# c& B" Z% P9 y( K* t2 t
var isLast=false; T w( j. K0 u, K+ j+ s4 j6 |
6 p. b+ m& E( W4 \7 R while(parentBgColor == "transparent") 3 A2 r- a) a: `2 F/ ]
{
' x! O/ b' D) k% z* O7 s
" V3 X, \! G4 G& D* X- }3 ^) K
9 q' ~- v$ ~ j/ i9 G4 G! K6 \ if(parentNode.parentNode == null)- m% l) X+ T8 h: ?8 Z6 {
{) C( \$ i# s- f7 R: o
isLast=true;
: z$ \5 @9 t2 G) N2 m break;
u: g5 s6 Y7 V- k+ _( Y }
5 t8 @% k# {2 j+ L2 x2 x% i parentNode=parentNode.parentNode;2 k" P/ }( ~( x# r" c! @' O2 S
parentBgColor=this.getobjstyle(parentNode,"background-color");) B3 }+ d: I, Q- W5 y
4 @# H+ e8 H4 _' O4 N* Z5 o" |( a
if(parentBgColor != "transparent") 1 ?: S# l7 m: K
{
" m) b A" B7 N: f break;
3 u9 g" G0 p# N8 r/ O$ ` }5 K0 ]1 t# _- N3 Q5 o; c4 o
}
8 T3 P+ P, |- S$ M2 C0 T$ y if(isLast)
, c7 _: E% W5 n# E- ^, F {
; [. @8 w7 G7 X if(debug)3 H, ~4 h: ?+ N2 V7 C: G0 } X
{
: t$ j, \/ D9 Z+ c9 [1 A$ K J alert("last!!");
8 D# e% a, s/ Q* Y) K0 g+ U2 @ }, L. H# ]0 C5 @$ ]2 h1 d( F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' p; t, r7 W$ m5 E4 u
{
( `# h* Z1 W7 d. b; v orgNode.parentNode.removeChild(orgNode); 9 j' ], f$ {" r- W( ?4 ^0 o
}
$ |' m+ i1 v& R8 |9 M w5 Z }! C. _- t# a1 o" T7 H1 L5 U2 d
else
7 S. W6 a1 X( n! X& s5 o {4 s% _# F4 J. r! {; U
if(debug)
" G/ t" {, B$ p: ]+ P {
! J- t; h- d( H5 f( @! I# h. A7 h+ E alert("compare color and parent bgcolor!");
9 _/ L4 B j8 B. _ }8 s6 m; n" ?6 ~3 j: ~9 P& v0 k
parentBgRGB=getRGB(parentBgColor);. b8 J, i9 ]: J/ Y1 z) w# o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* t6 j. u, W i* \8 `. B
{+ F, |1 f8 U+ g& w* i
orgNode.parentNode.removeChild(orgNode);
1 |$ k* a. }7 T$ g8 Y+ G, p }
' I7 S' F" j. S# E }
* _& N+ G# v1 F! D! Q$ |' B }$ ^# ]2 v+ Z M; M
}
- Y- s |, c3 [! R$ m/ [ z+ u }
! }9 Q* J2 i# E; v6 s7 ~ }3 f( ^4 n* f2 S) G
) A5 R \; j% i
" D0 ]% l+ q5 C: v$ v$ p var itemFrames = page.getElementsByTagName("frame");
5 T% Y, K; P5 ~0 \* l var itemiFrames = page.getElementsByTagName("iframe");( c' [; m* c/ u) V& [' A1 Q
7 j: O) k5 t/ R5 t" c8 G var frame, iframe;
0 d+ j; m: I: z" I if (itemFrames.length > 0): u3 R q) [% k1 Y5 N* Y
{3 D; q! E2 T8 D* |
for (var i = 0 ; i< itemFrames.length ; i++) 5 z2 C( B3 L/ r, s
{
! E6 a( W& o7 P p5 Z frame = itemFrames.contentDocument;* ]& R6 X Z6 j) P
this.RemoveHide(frame,objname); & B, M4 @$ ]) Q! D% t1 H
}
# {. D# @8 ]8 `: t | }
- Y* d7 h& h9 M( m+ Y2 c4 ]# L' D if (itemiFrames.length > 0)
) ~- }9 j: `( T2 T {/ c/ i% m# {' r% o2 Z- l
for (var i = 0 ; i < itemiFrames.length ; i++)
' E& k' b# e5 q0 }& W2 V {
; ~0 z0 d- `- a0 u, B iframe = itemiFrames.contentDocument;5 X: S5 ?. |. j$ j8 W6 m& x
this.RemoveHide(iframe,objname);
* K9 K0 n7 ?- S r% A/ k }
$ o, t0 K, {6 s8 b8 L }
, C) j- W) B$ A+ S8 I2 E }) X! C1 R! R. J* O) ~) F& u! C
catch(e)
8 r, a a/ a a$ U% U7 d$ } {
: Y) i& _4 D9 O* _! |2 s if(debug)2 G' d% `$ @/ ]: m, p
{
3 u& |: g* V7 B. D. W alert(e.message);7 \ L' [+ N" K3 ]3 M
}
& V6 S& B/ T: G$ k' w: G5 x }
, t4 Q: F# _2 j2 W- b. h% x }
# L7 J6 M, l) g% h
3 U9 j% a& \, K! S& M% {; S& [}& b4 ?6 r( L( H. o3 @ Q) K3 [
" e) S; z: J: y, l. H( f7 Q9 K
function getRGB(colorString), K% R. h# t0 [$ e- R r* R; R8 V
{$ A$ i2 R* d+ F8 q( T- S+ H
var RGB = new Array;
# o5 O7 Z2 J. C' v' m Q$ } var tempSting=colorString.substring(4,colorString.length-1);
; {5 U* C4 v8 x! e var tempArray=tempSting.split(",");
, Y6 j- [; s7 e3 R9 y" T: i/ n/ Q& F3 Z, h7 ?
RGB[0]=parseInt(tempArray[0]);
* s4 I% n0 a7 Y RGB[1]=parseInt(tempArray[1]);" r9 i [: W# s, q
RGB[2]=parseInt(tempArray[2]);; P" h. U( h( W8 i; A0 ^4 {
5 h5 n/ x: t/ u4 M$ _- B2 L3 c s
return RGB;+ _. ?7 P% t2 V4 O, M; Q* u
}
4 T% a0 t# _! p5 L" a6 I4 U2 n8 efunction keys(evt)
0 ]! H+ Q" f5 T { - F) |! S6 e6 n: n2 @/ A$ U
if(evt.ctrlKey && evt.keyCode=="81") - i1 H( c8 X& X
{
( t y( |. }2 Q, R+ V" c; ^ CleanHideObj.on(0,1);
- c% D7 J t& w" x. G0 C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 y6 D& s5 g7 \$ p
/ d6 v5 N0 u- u, C+ `. h0 } }
" c4 K* e+ d1 D% A }
# u8 q3 a) S" [$ J4 M5 odocument.addEventListener('keydown', keys, false); % O: ~6 ~# z3 C9 F, g' W
GM_registerMenuCommand ('Clean Hide',: Q( ?1 F! F, |; @& _/ D9 U
function(e){' t3 }4 p/ y7 C; d4 C
CleanHideObj.on(0,1)+ p- o, u) o' Z7 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 r/ \- b( y; Q# f- d l& M" `
});
8 {4 U8 L& N% x: l |
评分
-
查看全部评分
|