|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
S1 ?1 U$ M1 n U# c1 b
: d9 ?7 \5 E8 K* j火狐插件,用猴子
% _+ b8 c" O9 _2 b/ B- J& v2 J2 `9 L( D" `/ ~( W! S
var debug=false; 0 J; A. v/ I, R
var CleanHideObj=new CleanHideClass();$ d0 _$ V; d( M7 M5 ]0 I; w' I
) h5 K- s; a% O8 B$ j" [2 u
function CleanHideClass() 6 T/ _. u1 g4 |1 Y, o- Q: z/ I7 O
{ $ `* d4 K) Y6 u0 f9 f/ D7 s7 z6 y; h1 c
1 Y+ K1 P3 W W! ] this.on=function(id,bMZ)
: U/ k% h# I/ R4 [ {) B( \ L9 q6 a: X! J& W
* p1 y9 J" ^" _& b3 l if(id == 0)
" @; m4 |) |; K9 _ {
0 C% K. h# ]: s) P var page=/* document.getElementById("content").contentDocument */document; " _5 W. o; o+ h( [
this.RemoveHide(page,"span");( B8 ^- D5 J2 P- I% G v' ~
this.RemoveHide(page,"font");0 I8 Z7 Q ?, F. ?) s
this.RemoveHide(page,"div");* y: l3 E3 ? v( {8 ]
this.RemoveHide(page,"p");8 _& v4 {0 b, Q9 u! y
6 Q# W4 f! b: F4 A- b$ h( V( { }# R& O4 E7 C4 G4 H. Y
. R5 N( \* q4 [
}& g9 M$ G6 Y/ }% ^" r% G5 u: N8 R
this.getobjstyle=function(node,prop)( y+ G" O9 Q! ]; h/ n+ M
{
) Y S. y$ u2 V% K1 \% a try" u7 t+ w! C, b3 k
{
' Q4 _8 Y6 o! h( O$ ^# D, @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! B4 Z7 J; }& ?, v8 z; E. |5 F }
3 d8 m) P0 q$ x" p2 g catch(e); C5 h/ V: J' j+ k& ?4 g
{! d4 S/ M4 n8 f% k9 P' m$ X8 Q
if(debug)8 {( y7 Y' d! o7 V6 o
{) ^# ^7 P4 t6 t5 @# u) M! y7 Z
alert(e.message);1 {5 G% q/ @* [3 |$ x c2 k* s) W
}# E; G1 V! B% `/ d v* y% f5 c
( w: Z% U0 ~( Y! N1 A0 y return "200";) F! E# C) D2 R4 j8 {2 ^
}
2 @5 P6 X. z2 ?/ j* w% u }7 b* Y( w- X0 m `
/ x3 E3 j' ?" I$ ?4 @! N this.RemoveHide=function(page,objname)$ g _4 @2 O; Q3 ]) y6 F* e) x
{9 \1 u9 ]9 z& O8 b6 N1 K- ~( m. E' C
try+ T( L- I! q: [! y" p
{# [8 C3 M4 e5 u- Y1 q0 w
var minValue=15;9 L; P* w! J+ S. |
var objs=page.getElementsByTagName(objname); 3 P4 l# v" F7 h, m
; M: u' K& c- r/ I3 d$ B+ `/ f
if(objs.length == 0)
7 F0 p( X( e( S" z$ u- N {
: {+ ]3 r! x- m/ M0 D" j if(debug)/ L8 i" ^: i& ~7 {: ]
{
7 `4 \1 o; i" S2 M alert("no object found!:"+objname);6 f7 D2 L# g9 s; h; K J3 f
}
N7 h- f: o5 g- o8 Q @" C+ N }- L. j: }& z: o5 s
else$ y7 Y2 s+ _( ?, @, W9 z/ x
{
% l$ q. s- {- K" ~5 @ \ J3 u1 z
6 n* V* x& ]' Q* Z) D z, A( R for(var i=objs.length-1;i>=0;i--) B9 I' K( P! {$ k, u
{. }1 g; D: d! z; @4 R5 q5 e) W" o% G
var node=objs.item(i); 5 J% M3 x' E) {) M% Q
# s# ?5 R( y" F7 @, ^* {% j V . m8 A. S- M" c9 t/ o! v2 t5 b
if(this.getobjstyle(node,"display") == "none" ||8 Q; c8 o, C* T0 a/ u9 x
this.getobjstyle(node,"visibility") =="hidden" ||
- J6 ^3 H# ~. G, _ a parseInt(this.getobjstyle(node,"font-size")) == 0)
/ _/ j: U3 I# a9 V- \& {5 J {
% \2 M# c$ P E0 m% s: ^0 i if(debug)
1 Z' ?0 y, k" V& d {2 |; p0 f1 N; I
alert("remove invisiable!");
& n7 O$ `; O: K$ @- n$ s }# D- Z' P. e2 v4 K
node.parentNode.removeChild(node);
1 g4 s2 y5 f; c) l0 d 4 U2 C0 j# p: Z3 @; s* l( \( f
}
% D. u* |" Q, D* H) ^" }* w else % _" G A* h6 k9 x
{4 x& U8 O( Y* X
if(node.parentNode) # p" z, c$ |/ N2 ?- i) K
{
: w7 k ?: R6 o! ], J% ]2 R! A var orgNode=node;
4 m4 p1 t) I" b" `; ~ var orgColor=this.getobjstyle(orgNode,"color"). B, X7 l2 O: R! ]3 \$ e, g
var orgRGB=getRGB(orgColor); " H8 ]7 [% N9 e. d+ W8 @6 H0 S
5 o* ]" o( K; T
var parentNode=node.parentNode
" H& L) Q/ t& V* K var parentBgColor=this.getobjstyle(parentNode,"background-color");7 g! N! ^9 q2 M& x0 D
) V1 p- J' @" d2 r5 ~+ D/ J var isLast=false;
8 H* |9 w" ^1 k L$ q& j) h% N 8 B: O5 F) n6 }' L3 }
while(parentBgColor == "transparent")
5 n' h( c2 t9 F6 A {1 i7 v. Q% \; \" h& H
/ k' A4 |. H3 b' `
, K. s( l! H7 `
if(parentNode.parentNode == null)& M' z) X- k& f# n1 s, r
{
7 r! X O: X) A, f7 i8 H* _ isLast=true;
$ Q# v6 o/ i4 d# Z7 [: H break;
6 J5 X- X: n+ }2 p2 w }
4 x0 f2 h0 A* N- C parentNode=parentNode.parentNode;
4 [1 s. p: l0 ]+ F! g, I2 k parentBgColor=this.getobjstyle(parentNode,"background-color");, N2 ~; B/ q/ l/ i/ S! H
; G; v! A% f3 M$ H+ H4 [$ ^1 _
if(parentBgColor != "transparent") * k. C- t3 N# j0 I; i
{
d8 X+ [: d1 N: H4 l7 L! c break;1 v9 |* I; L8 O3 e& r
}: b) g& G3 I N0 D
}) c" x( e4 N0 {7 T
if(isLast)
, w( y3 b# f8 i% y4 F {
! \# C3 w/ z4 S" R+ n& k if(debug)* t( U# q* I. v. ?7 ^2 r! W
{8 u$ x# H$ E3 `/ y2 L
alert("last!!");
. ^/ r) U) i/ ^ }
, A, }4 U, a/ j) z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 k9 _- }* Q( t6 K {3 K+ K3 p3 C; h, B2 d V4 ?( X+ p4 ]# _
orgNode.parentNode.removeChild(orgNode); 9 Q! L" M. u8 l: U
}
7 x8 t& D$ i$ X( T4 X5 G, b }' I- f. v) `+ | v
else
8 [9 e9 V# ^% D2 T" `' E$ p3 q' f {1 ]5 a& F' V T; N. g8 Q
if(debug)! W5 s# `' H: s. j
{
+ [, w) S" `2 O! r% \" q5 l4 X alert("compare color and parent bgcolor!");6 r' R& R: c/ z" J/ g9 R9 z7 B0 v8 k, H$ D
}
a0 k# D8 F' S0 p2 d8 A parentBgRGB=getRGB(parentBgColor);$ T P" z* k( z( M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 @1 ~; E8 m) Z6 Y7 s3 d {2 Y, r/ y: h7 _: N# _
orgNode.parentNode.removeChild(orgNode);
- B) L/ t5 x8 R) B I% K }# a4 m7 o- K4 F9 M+ t M
}
8 j2 u8 n, ~- N: p7 C }
7 N* A' v2 r& u }
& t- o5 O4 u+ w }
6 L9 f; P7 E' t2 B! G" d }/ y! q3 C1 N M! M% G( B; H
, g4 ~( |5 }+ u9 k4 H( g8 ^
- A( \7 ?- ?+ M" D var itemFrames = page.getElementsByTagName("frame");- k4 Q+ G0 u( c9 r
var itemiFrames = page.getElementsByTagName("iframe");
& J$ s6 g" r- _
% x0 o6 ~ x4 W1 H var frame, iframe;- n7 H; @6 ]6 c. P5 L
if (itemFrames.length > 0)
- H: c6 z3 B5 D4 Z2 g! J$ G {
/ L1 a. b5 F$ E: V for (var i = 0 ; i< itemFrames.length ; i++) 2 G1 H1 E$ i, A. R3 S, F1 W2 r
{
% M% B* i4 {# k8 _7 k frame = itemFrames.contentDocument;, j1 B3 B$ |8 u- I/ H0 d2 w
this.RemoveHide(frame,objname);
0 N9 v2 N! n$ f6 n. q }$ X4 h0 Z: R% B' ?1 `, o% J+ v9 {
}
0 \4 z' S6 [6 s8 |. r1 _+ ^6 j if (itemiFrames.length > 0)
# b. V, V% C5 ? {* \* [/ s- |1 ?6 A1 u& w
for (var i = 0 ; i < itemiFrames.length ; i++)
" U. x7 s3 b; V3 a7 F% k6 J {3 h0 p9 O' B6 W( B
iframe = itemiFrames.contentDocument;- k* W! {* z' m. n3 Y. C' j8 x K
this.RemoveHide(iframe,objname);
, I9 |' }, j" }. B3 ?* Y }
4 F& O/ G0 C0 O/ o$ |$ M }
/ k7 y+ K( V4 }0 v9 d }
! r0 X" q$ E$ \( l% e catch(e)& N+ \9 ]2 l% \7 E; ~
{% ]; b- q2 [0 W$ w6 B6 R& C+ j
if(debug)
8 w0 Q. S" C( U; e4 e$ w {$ u% G( P: R3 e4 x0 B& Y( V
alert(e.message);5 z& G8 @' [; r, e& Z6 u+ P
}# E( l, B4 l; R* O; U9 p1 X$ @: A
}
6 o" t0 o8 ]1 B+ V( e, Q }
# e# N1 {- Z0 u
8 ~4 ]/ X# k+ S0 Y0 X}
5 F6 ~6 o9 q* [
/ Z2 _6 T- r- t( j+ d& r" J+ \" \4 [function getRGB(colorString)
$ ?% w7 H; ?( o* v3 T{
/ C/ P9 Y5 Q9 F, T5 u% [+ }- C var RGB = new Array;' P+ Y* Z" ]& l( Y
var tempSting=colorString.substring(4,colorString.length-1);+ _. A1 R) [4 V+ L$ l. F
var tempArray=tempSting.split(",");0 ?* Y8 n! q. w8 u7 w
" Q- _5 [# E! R: ~5 |& S' q
RGB[0]=parseInt(tempArray[0]); T6 A8 T" c5 b* g2 W
RGB[1]=parseInt(tempArray[1]);
( ]4 O" a4 E g& s RGB[2]=parseInt(tempArray[2]);7 H1 o4 o; N! f1 D0 z3 A4 {# l5 ^
: ^. t/ `& w7 z: U
return RGB;4 O/ a1 B& {1 [' U2 [4 Q3 }
}$ P+ K9 S4 e5 o0 M" x8 v5 X
function keys(evt) / a) @/ N* h1 L2 |' B# T
{ 4 w; U, z! i" ^7 r: O& B: B
if(evt.ctrlKey && evt.keyCode=="81") ( d$ z [6 U1 i2 a+ N c
{ 7 `/ Z* A, `: E
CleanHideObj.on(0,1);% M# G! H4 c5 I7 K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ y( ^; M8 |" q; V O) c! v( s [) s' R) q% [ f* b
}
+ L1 o5 L3 ?: M: U8 \- Z, L7 ` }
% |' J% C7 E, U9 `; Idocument.addEventListener('keydown', keys, false); , y0 V& f7 ?- j! ]- M- f4 u3 {
GM_registerMenuCommand ('Clean Hide',4 Q" J+ ~& W4 D/ y9 h
function(e){: V2 e0 `* e2 N" ^4 M' S
CleanHideObj.on(0,1), _& V9 R& @: X& \; ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ ]+ u* j' c, b q. ^9 ?" N7 q});3 S, y! h8 e5 b/ M+ _7 O: r
|
评分
-
查看全部评分
|