|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# ~9 Y8 `/ p5 O% l
7 y5 L1 h7 G* n1 U4 e f# \. m- Y) |1 T火狐插件,用猴子
C) }& ?0 d( m, X. o
" n0 W" U2 F$ c' l$ Pvar debug=false; & Z; }7 e! t) \) T
var CleanHideObj=new CleanHideClass();7 ] q" r- r8 p1 H4 F
4 m# D; l3 \6 L5 |- }" U5 H( ufunction CleanHideClass()
# F Q4 J! p- M7 y" N: W{
# f6 v* M! b( ^* s! o5 X9 z E8 G* H
* G# E: C+ x( ~' N+ I* p this.on=function(id,bMZ)4 a" O6 d# v% k: e0 }! L1 W0 I4 S
{
8 \* w* @* ~+ m4 e 3 U, K+ n0 _+ Y6 a4 j9 @
if(id == 0)9 U2 e6 J h/ G+ k
{
" e- S V* q; j6 g/ E- j! e var page=/* document.getElementById("content").contentDocument */document; * F& z$ k9 |6 I$ k1 r0 l. E( p: S
this.RemoveHide(page,"span");$ G8 j) u7 G7 D& v" Z3 D$ o3 U5 X
this.RemoveHide(page,"font");
$ P' P7 D* F3 E; f) \# B% d, d! z this.RemoveHide(page,"div");
2 j8 L3 e4 m; s/ l* G# T this.RemoveHide(page,"p");
$ X* d+ Q0 Y- g 4 _/ R) o) X2 i% N3 U l S
}
8 L+ [( g N' { / M8 x* F' {' @! T, k: b
}
. C. ~- T1 e/ e& |" W this.getobjstyle=function(node,prop)3 j Z$ \' ^4 m6 X. l7 {
{
( @6 Q* q" H/ _+ d try4 l* e+ f/ ]3 m) K
{* Z9 v* ^* ]1 T/ m. u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 s' J# g0 i# }# J" }; M0 b' u2 b }: [) W; y% c! K
catch(e)" S3 R, F' s" h" ~. s& q- P
{* k- I: S# |, s f7 t) E
if(debug). G! u( |+ p: S; p1 m6 K$ p
{
' g0 Y" j, n$ B2 V: A alert(e.message);
& N# q0 l% ?1 f* Z* d }
+ R2 b# }( m2 `, g/ s! z: e& G 4 V( i G/ s }- I' X/ m
return "200";
+ g: }9 S' h/ t0 [1 ~ }% [& y( \) k+ t, [- J6 I; e
} V* N4 ?6 D/ }
% A# Z3 w$ {. J, M8 C- Q. Z& |( t
this.RemoveHide=function(page,objname)! Y! u* z% G1 ?. j
{
/ ]; ~# E; n) q- U) I2 G( R try
& R+ R, {8 K4 [. e: ` {
x# `* X# ^& `+ t( B9 y var minValue=15;# I8 B# k: W& U9 a
var objs=page.getElementsByTagName(objname);
! a7 D6 ^( J8 L$ F& e
9 O' o7 A: S) O6 g0 L* p! t if(objs.length == 0)
7 t6 \$ @& w: f0 C {. w$ x" o# c5 x( f2 J2 B& t
if(debug)
8 C3 O7 p1 m1 P) L# H {
0 Q5 I" i& n# c! u# r# f u alert("no object found!:"+objname);* u( x4 |% C" j* i, n8 r
}6 ~6 g# @) z- q% e! Q4 M, Q3 a
}, M5 V1 h0 X/ H0 @% Q8 A7 `
else5 w7 x g7 t: ^' m! K2 y9 u
{. U& |+ r% C1 G* k' @
; Z' k# q0 r+ L* n& q7 G, ~
for(var i=objs.length-1;i>=0;i--)
( }: X8 w4 e% N) g0 x; e {
{2 M% e" e" J! ^# v var node=objs.item(i);
% R3 P; Q! u; }! s/ l Y - s2 ~1 S$ y& A! T
. S7 N+ l1 l' D3 D/ l s$ c1 o if(this.getobjstyle(node,"display") == "none" ||6 z# Q& e) e" b/ T. E7 k2 i
this.getobjstyle(node,"visibility") =="hidden" ||( A/ C: G0 [/ ?3 {
parseInt(this.getobjstyle(node,"font-size")) == 0) # R4 l) `8 k' c
{
$ x" }" k6 t& d- U* D if(debug)
! |7 w( S/ s0 R1 w, M5 a4 h8 b: ^ {
2 E3 ^& S& ?' K/ g6 i alert("remove invisiable!");- x" Q, C% A. i6 t; I7 b& [) M
}1 }" A( w) @1 d" L( e8 s- d
node.parentNode.removeChild(node);3 L, ^7 a7 R" Y9 ]3 n6 X, a
( ?, @7 W* c7 d }. ^ |! [8 |6 l( m9 [5 f$ p! A( r
else
1 e$ `5 m: {+ W: _3 Y) H2 p9 h {
, M8 n: p+ V+ d; @' [* |+ ~ if(node.parentNode) ) U' O" h& p! a9 I
{
; b0 R7 F8 c6 x4 ^6 Y var orgNode=node;
9 i+ z( `9 \( r. {2 F1 d var orgColor=this.getobjstyle(orgNode,"color")( {3 D$ f+ K3 s: E9 p: A3 w5 i
var orgRGB=getRGB(orgColor);
/ l. w" N7 t( }
# L9 g: b! u6 }7 @. A var parentNode=node.parentNode1 E' k% w* T, s; }/ P* p' g$ `
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ l0 v: _* ~2 y6 r' @1 z
$ J, F+ o' {; |6 c) V- [% Y
var isLast=false;
& ~, V# p9 k2 _/ K* i7 E7 I/ h2 \
3 F+ s9 \2 `8 ]" f% l: u while(parentBgColor == "transparent") 0 v$ C+ b0 X* z) O7 y
{: T' v2 I6 s4 p7 f( Q
9 K: U1 |2 F5 k& D# C4 `" X7 I
& |6 S2 d& X( z6 X7 S if(parentNode.parentNode == null)9 z, x) ?- C$ |& ^8 O* q, ]7 u [
{
! r7 ^( j8 m3 p6 H Y) z isLast=true;
' K: U8 V# H5 G, k5 O0 o9 l5 D break;( v; y* g" r) q% L0 N/ |
}% t: l& |2 _& ^5 n; A
parentNode=parentNode.parentNode;
1 u$ H& F! D+ n parentBgColor=this.getobjstyle(parentNode,"background-color");
* W& j/ v0 k; i( @2 H$ m9 L
/ Q% X$ `3 }- C: W/ H3 x7 b if(parentBgColor != "transparent") ! K! [$ v, H/ S( k7 p( O- Z
{
' n+ j7 f7 ? R3 J' A W break;
: W. u5 P3 t* r }
[6 v L# _; B& ]& k5 k0 v$ v v }" h4 ~9 g( N/ B/ `: J6 q/ x
if(isLast) / |6 l" J$ _: I. L
{- u" B& w3 ^3 ]1 y& ?7 t4 h
if(debug)3 y* ~+ w2 D) S4 }) c( C! N0 `
{
( ]3 A* [# H3 P @" e alert("last!!");
: D/ P) e, K; i `1 B. F2 J }" r+ Y2 g9 y( R E/ c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' }0 L7 p1 O- _
{
! t/ M3 G' O) Y: i9 }% Q orgNode.parentNode.removeChild(orgNode);
. j9 h* @0 M" Q6 t: ^5 c }
$ Y4 G$ ]% j) w }
, q& t5 K# E2 o" r! J else, n- l( u+ F, A; J& e
{/ E% }! n& y! h
if(debug)
$ c; J8 C. w, q; G; e {, F% x. ]6 s) J
alert("compare color and parent bgcolor!");' }9 P7 ]% t7 x/ l: W5 q0 V3 D
}
8 x) \1 {- C- `9 r/ J) k parentBgRGB=getRGB(parentBgColor);# t* X% n2 S8 [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# X1 H! F3 h9 ^1 ^ ^/ M" u& C9 ? {
8 y3 Y: Z' h+ N- B8 u& ~$ D; p8 C2 @ orgNode.parentNode.removeChild(orgNode);
. K0 ?4 a- h( L J- {, R9 R }9 x$ w( s2 ^ n
}
; R6 [$ p" m5 j3 H- s$ M% V& N }* T. I/ R5 u& U
}( h& q6 _2 v" D, ^* u5 z
}1 N6 z. [6 q. D3 ^+ ]& u( Y' |3 K
}
( j+ o; y" I6 [1 T
- |' g* p. O/ Y7 g( g$ r ?* z: [4 m E% \1 F+ u" B, b" [7 M
var itemFrames = page.getElementsByTagName("frame");
) w: Y a$ }& \ var itemiFrames = page.getElementsByTagName("iframe");( @8 A' D d- r$ D1 }3 {7 z
1 V4 v# b+ N! v( X
var frame, iframe;/ m. V) E9 w b% j! q) `- ~1 s6 H7 m
if (itemFrames.length > 0)3 H% P, r3 Y4 s
{
# A n1 i- Y) O& Z' p$ q for (var i = 0 ; i< itemFrames.length ; i++) # G! V7 m* p3 U! n% w8 n' g7 P' y i
{5 v' J" Q% B2 [% \& S; ]
frame = itemFrames.contentDocument;- T F: s4 j9 e4 ~
this.RemoveHide(frame,objname); , r/ F3 s7 J+ e8 ^ F' M
}
& w2 T; J( j0 O+ l3 Y, K }
' e* w5 @5 W7 |; c3 m if (itemiFrames.length > 0), \" o8 b/ f, d; R4 J+ G# n( K
{; z: d& f; o2 I8 n, i8 N
for (var i = 0 ; i < itemiFrames.length ; i++) # A, J/ D! Q3 o
{
( n* S0 @6 T4 S; a; s iframe = itemiFrames.contentDocument;
& _5 A+ R. F# a7 |6 p9 L, i this.RemoveHide(iframe,objname);
* O, {! y8 Z) q0 m2 b+ L, p0 ~5 j4 { }
' C# C* W( A" S2 j C9 I" t }- b4 |/ C7 E/ W2 R" D9 ]. c0 N
}
3 n8 i. d0 C. W p: v' ^, S catch(e): b+ U. U6 g5 E G
{
# v- r1 b( x& Z' E: F if(debug)$ e9 {$ } j0 A5 b% b
{- l f' O9 P( b. I9 a
alert(e.message);
5 s; [; X B" x0 W5 q: s: o' Y& K }
2 @/ h& Z7 i1 T }
9 g" v0 l5 k: w4 t }& ]' ~: Z9 i5 q
" U; T1 U* F6 s- P w, T( X% X, ^0 J}0 [' ~: g3 x# B+ Z3 X4 g
. M7 u7 \6 n* u ifunction getRGB(colorString)* d6 C4 E) ? O
{1 f) K" v' I+ m: e
var RGB = new Array;7 I6 C! J( B3 O: U6 F6 T
var tempSting=colorString.substring(4,colorString.length-1);% |, U+ B8 G, O2 h) n
var tempArray=tempSting.split(","); T- `2 Y0 ]# x0 ]$ \# V
. H4 x) m, g: R0 B: |
RGB[0]=parseInt(tempArray[0]);
! G( S1 u; m4 w0 I7 \ RGB[1]=parseInt(tempArray[1]);) Q/ c! { I4 r) c
RGB[2]=parseInt(tempArray[2]);! N1 f) z( x+ L3 g
% p" C9 n* R0 ~" i( o) B
return RGB;! P w* K/ A( O
}
) ? c# b) v' i1 _. }function keys(evt)
- P- ?' p3 H- y/ ~ }, U p { ! I' M: h5 A8 B% u- N& v! T
if(evt.ctrlKey && evt.keyCode=="81")
3 Y% L( u3 d$ F5 p0 E7 g {
2 d% b& O4 i* O2 e( B% j% O CleanHideObj.on(0,1);: x% m9 W9 T. Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , i3 ^7 Q' }+ Q/ }' {; o" ~
5 m* R& q6 f" R" ]" q5 n! C
}
: a1 L& `% S2 N3 A }
5 F# F# m8 h+ q1 hdocument.addEventListener('keydown', keys, false); 6 Y) L# q4 N, Y7 e' m, W
GM_registerMenuCommand ('Clean Hide',; k6 T0 z7 {% {; _2 `2 G
function(e){
$ u0 ^9 _7 _0 C* x8 l( \/ ^CleanHideObj.on(0,1)
# j& o$ r( H$ V: H- C4 h9 Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# y+ u# t+ c. m, D});, x) |2 P' W+ ]8 [7 l6 T
|
评分
-
查看全部评分
|