|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ L; [ U! N7 X6 O9 ]
# F7 w( g" X4 @火狐插件,用猴子- V* B4 ]9 L) R
/ i* L4 q2 O9 B) ?var debug=false;
8 N, j# W& R! d' ^# a- x" svar CleanHideObj=new CleanHideClass();
$ w( K$ V+ r0 A+ P- Y+ r5 f' B/ C: R
function CleanHideClass()
; z" V; c" l% ]* n# l{ - K4 \: K3 b& E1 ~- O2 ?% K! x1 S
$ e: Q1 g p5 b( R5 [+ V this.on=function(id,bMZ)
% h# s2 {8 X& w d8 e {; S% z" G, f/ U" Q; H+ T
- p0 o" q& w9 ~! ~ if(id == 0)
6 z6 B C7 [9 `7 @0 d" b2 {$ a# z {
3 M4 {( k5 n( ]! r3 X+ t var page=/* document.getElementById("content").contentDocument */document;
: i {6 |7 R2 S, \' P n0 N1 `' F this.RemoveHide(page,"span");. y8 w9 R1 q2 y8 G) P8 G* j
this.RemoveHide(page,"font");& Z4 h- j1 l. j. f
this.RemoveHide(page,"div");6 Q; ~( x* B- G% C1 ~& Y
this.RemoveHide(page,"p");
: p/ t- n! C \4 V* d& n9 e! Y( g
2 H/ b9 q6 I9 P8 Z3 I S }
/ {4 e/ \. ^( F/ d# u* Q
6 A+ c, V+ K4 H; } }' c- Z3 _- _+ A# B _2 X" {
this.getobjstyle=function(node,prop)' [6 ]* w D; k# E5 L
{
2 Z( V! j# z) }3 u! _( i try
8 X3 W: M3 T H2 Q {
( g$ p( _- f) N5 E1 ]3 u6 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 J$ v/ M V7 y, y! n1 g }6 Y, A. b& Q) Y, Q
catch(e)
, D% c4 w0 w0 D, \9 C/ ^" A {
9 z, m2 {: [* q3 A2 v: U5 u) L if(debug)
: P! g$ l, A/ q8 Q {( c5 U: y* n( C( W0 Z5 l
alert(e.message);' Y; H1 b' Y- s' s0 c0 J+ `4 v
}
# Y+ }" {1 V7 ~) y( P
: q* e) n7 t4 E, y# p9 k" \; G' [* J return "200";4 A: Q# E* }, u* Y; x
}4 N- l: ^+ X0 M. y$ H" _8 [: |8 F
}; v4 i+ q! R: R" A
0 Z$ ~- V( a( t `5 t/ U
this.RemoveHide=function(page,objname)
' v6 w8 t. ]8 C1 n0 ?- V {
: _3 Z6 z1 \8 g/ S9 { try" \+ X6 Q3 u" h! m
{
7 _2 I% A. K( t) I% m$ h2 [0 c. d d var minValue=15;
7 P6 W1 F# O! }6 S- S7 P var objs=page.getElementsByTagName(objname); : Z7 h4 U+ A2 w" ]
! _8 c5 i' W3 j+ A q P
if(objs.length == 0)
+ E9 t' o/ t, {3 V% k1 H3 S: ` d {" {% q3 [: H* _0 V: F6 m) n/ O
if(debug)! |) o3 P: r: F( r5 R
{% q" Y) e* ^4 \: F# f1 C' \2 {, Y
alert("no object found!:"+objname);3 U# Z# b% G& [- Q# g4 s- R, T K8 S
}3 K! Q' C9 s; d4 T2 ^
}
: U2 p$ ~4 H, T( E6 s else7 e+ V, T7 b7 F1 @
{
* F5 R" E) t$ P# s* F" p. n0 N+ R
7 K5 |6 j4 ~6 V for(var i=objs.length-1;i>=0;i--)
* b; }8 t2 o! N& Q {
: I" F" t9 | ^ O1 w var node=objs.item(i);
7 q# U* ^2 ?! T( L % r* p$ R0 W* I a- @ }) P
A: R: }- ^( F, [( G6 s/ h! Z b
if(this.getobjstyle(node,"display") == "none" ||) N6 R1 P1 N, v* i9 X4 y2 _0 L- g
this.getobjstyle(node,"visibility") =="hidden" ||4 b2 ], d. d8 R, r$ c" |- o' ?0 d: `
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 g1 P6 L9 ^( E6 x3 O {9 x3 [% j+ J1 ^( q
if(debug)
% m) h% G0 _: `/ o8 V {% g) [1 W, z: w! B( \, }
alert("remove invisiable!");, |9 ?' I1 A% X* U0 z( C; _4 q; U
}
/ i! D7 Z) Z! c1 } node.parentNode.removeChild(node);% T. a3 }" F) L0 U0 U% q
q6 N$ c0 K! w) T# v% s
}
+ a" \7 d# e& f3 l, ] else
* _7 C- B+ b9 ~9 ~- c6 ]2 m {. V1 f, Q4 K3 F( v4 ^8 e
if(node.parentNode)
" |- R3 [; H* u( i; [* j {, y9 ~& A3 Y7 i3 D1 o, e
var orgNode=node;
1 {, x+ m, B- l4 I( p: ^$ w; h var orgColor=this.getobjstyle(orgNode,"color") }- [0 Y4 Z/ P* K7 a% `
var orgRGB=getRGB(orgColor);
; o0 u2 l0 k- _; U) ?: e8 D
, `/ X& k6 X4 V9 u# i- w/ G var parentNode=node.parentNode
& B5 Y: N; V& i4 I+ Z% g var parentBgColor=this.getobjstyle(parentNode,"background-color");8 B1 o+ q* J/ E$ k
! @: A: q3 e W9 w var isLast=false;
% \ n- Z4 I2 i% t& f+ X4 F$ d7 | 8 P N8 H8 z5 m" {
while(parentBgColor == "transparent")
: p7 F' v. y' ], Y/ R {
. s- e' B% R9 ~
r" e: N$ e+ |8 i, a4 h8 B
& }$ Y5 p' @1 W b; _* A if(parentNode.parentNode == null)7 }# B+ \9 C0 C) Y5 t
{' Y* Q! M- z0 V9 j# `1 Y
isLast=true;
6 X" R' k$ J1 {- x break;+ E! a6 o1 H% F* ^6 d
}
" O5 s, j- ?8 q5 W8 s, G: Q parentNode=parentNode.parentNode;
v; H0 u. h# g: u @* r8 j8 _ [ parentBgColor=this.getobjstyle(parentNode,"background-color");
. d, v. L" K/ U- ]- @5 B* h
; A+ z7 {) g# y: E if(parentBgColor != "transparent")
( e* O6 ], `" q- s8 | {
1 j1 d. S% y2 _( e! r" c4 } break;) u) @% ~" j, N7 v7 T) O" R
}
x+ v' B0 c: q# d' N! B' { }+ g7 g% I5 H8 a0 O
if(isLast)
a- u1 d4 c0 N0 v+ l {- ^9 F# n! _0 W1 n
if(debug)
( I, n1 d# z3 [8 a! w r$ Z {! X9 _/ E. _% i. S' x
alert("last!!");
: p) p4 ]9 z4 y. q }
' }: I5 {) r9 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 I, `2 Q, F& E {
: O7 z& i4 o. t- v5 L( n orgNode.parentNode.removeChild(orgNode);
9 [- x; o! ~8 U9 E! S L& a }. D5 \/ D7 K! o! @0 }
}
; b+ F* _; e& l. ~ I else. n9 W3 `/ H, ^0 a
{( S& X( y. I" u
if(debug)4 V, _5 Q3 D {- d/ L
{2 ~6 w9 ?$ Q& B$ ?) d4 K
alert("compare color and parent bgcolor!");1 ~9 ^. A" P5 |4 [0 l1 q
}
# z. e6 G0 S( I parentBgRGB=getRGB(parentBgColor);
& |, @ U i q/ L- g; f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# v$ T8 m% g/ f3 F {0 r% l: L8 |9 C: b$ X0 P% @
orgNode.parentNode.removeChild(orgNode); $ s7 U* ?& l, P7 ^
}' w& R: ]7 C& s0 ~! \) _2 _ r
}
9 \' y I- {6 Y9 g2 f5 I% j5 x }
4 E# `2 ^0 e# x( ~) U% o8 z }
, J3 d$ {& m% T4 B6 Q }. L% l# q! E8 A. b9 Q
}. X! P, `+ F" q/ J Y
2 i* T9 ?$ K1 ?
; I c0 A1 S8 Y8 Z- L1 F9 z7 r var itemFrames = page.getElementsByTagName("frame");
) d, j( Z/ `+ J; y; b; Z( ^, m var itemiFrames = page.getElementsByTagName("iframe");
" Z( K2 U' l% u8 h. v
. B* ~% U2 f$ q5 w, E0 [ var frame, iframe;
" \) m/ n- H2 X# j- k' F+ f if (itemFrames.length > 0)
- j6 d- @4 f1 t& N9 x {( s& M9 x4 @" R2 Q" a; B
for (var i = 0 ; i< itemFrames.length ; i++)
* L) S+ D3 l# o) O {' L& }" ?2 d% D. a2 u' Z
frame = itemFrames.contentDocument;
- j. R/ R! o8 A6 p5 `" N this.RemoveHide(frame,objname);
- J4 k- E0 m' u5 p5 [ }
% [ v& ?# d% g9 g5 ] }
: \* |# b [& `; m7 r% u! c. M if (itemiFrames.length > 0)
6 w* E9 T7 L! k" D ^" Y$ C. L2 G {
: e( Q, u* T2 c% _ for (var i = 0 ; i < itemiFrames.length ; i++)
2 m0 Z' C9 Q0 L, u8 ^: c; \( c {+ B1 x) q( x& A
iframe = itemiFrames.contentDocument;1 L. c' s, }# O/ p4 J) e
this.RemoveHide(iframe,objname);
; s& G: N) a0 g! L) g& B% U }& b/ W, Q/ |9 d: t+ o% A) F* p; d% E9 q
}
7 |9 ]/ C* D1 W( D2 y* n2 b0 y5 o2 ]% { }& d% n2 j! [$ U6 n3 E5 b& B
catch(e)
. }7 p8 x' x. k0 A {
( ^; n9 r$ H' H% }: l3 C if(debug)8 C$ I4 n6 [! Q" F d! s2 X2 J0 w& Y
{
* E# g8 P. M* H& | alert(e.message);
, U# R) g! Z) X }0 N' J6 z. ^. c. E2 h
}
' y( C2 e0 R; ]. G1 y }2 z) ~3 [5 Y7 f3 n, g, w# F% d
7 v) k7 a: ?; y, O b) X% w}* \: ?. Z. q5 r8 s. s% \7 i; ~
2 @3 ]* [9 H& Q) b# m6 n2 j A
function getRGB(colorString): W/ y, {) _4 a' x3 G m' P
{/ b# n2 Z' ` c6 r0 F8 i
var RGB = new Array;
; u2 r1 h$ d" C/ }. ` var tempSting=colorString.substring(4,colorString.length-1);
) _3 w! m$ B$ Q W0 q! h var tempArray=tempSting.split(",");+ h5 p1 S/ N- \. A; m- R% C( `! R
8 x: J) D- D. x( j5 N- C RGB[0]=parseInt(tempArray[0]);
. K6 d. v o8 F RGB[1]=parseInt(tempArray[1]);/ i9 b8 }1 J+ y
RGB[2]=parseInt(tempArray[2]);
4 j: d: Y2 h$ D$ r2 T
5 M9 t* F, W5 M' M3 E" r" e2 d return RGB;
- }, o0 M1 \% g& c" [$ q# s1 W7 y}
. ]/ x d3 |0 C! \function keys(evt)
) U9 l# i9 F9 X4 M: A9 V+ h {
# a* }0 w* t/ P7 r( A* S) w if(evt.ctrlKey && evt.keyCode=="81")
2 \5 L0 h) }) V8 M# |; o( ? { ' D! K& o/ K. Z+ v+ I; x- k8 p
CleanHideObj.on(0,1);
/ d8 J* T0 b$ r% ^2 m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* u0 c0 t2 s2 [9 P9 t7 F
' V' j/ x3 G4 a7 k0 X4 h6 q) a }
. z* |. W2 P" J0 j- G4 f } . H0 k" `: v! y$ [2 L$ {
document.addEventListener('keydown', keys, false); 8 X" a2 Z+ R3 J/ _/ e0 @
GM_registerMenuCommand ('Clean Hide',# D1 S# E, n. J3 u
function(e){
# a" ^; y S3 X' a- c. PCleanHideObj.on(0,1)
$ d: d) w* Y C) h# F5 ^3 `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* J) J) R+ q, H8 R" ?7 X3 c! d0 d
});; j/ m( |8 |# A. t6 c5 @) M
|
评分
-
查看全部评分
|