|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 {) O) r0 Q! V) V2 ~- L
- e* ~+ Z6 R& K
火狐插件,用猴子
( t1 m6 s7 G" y+ e4 y% |" d# e& ?( p: |2 q
var debug=false; ' H- {2 `& b& v" |& \5 W+ N" @1 I
var CleanHideObj=new CleanHideClass();
( D. n! }4 N' t* X
! J; [2 h( U0 h/ Efunction CleanHideClass() 0 u2 m) w+ a) Q" W# l- W5 _& L
{ # a' g9 I8 E1 i3 l! [+ b
& d+ k" J9 ]( g# m0 Y; S! |& F
this.on=function(id,bMZ)
# j, H: w5 |" q: g) r1 p, E3 \ {. ~3 F8 H! _* b3 X1 M
7 o3 B6 r/ o! f1 l3 T if(id == 0)
0 T: p! n6 X# @. a- Z2 W8 | {
+ R$ f5 ]3 G; q% t6 H var page=/* document.getElementById("content").contentDocument */document; 6 A/ F0 Z* s0 p9 q. A2 Y# \
this.RemoveHide(page,"span");
! t( _! f0 L7 T8 I; {. n7 m D this.RemoveHide(page,"font");% [1 {& ~. v0 e- N7 s
this.RemoveHide(page,"div");
$ g1 W% v e' K; i8 r+ v& ?4 }! k# y this.RemoveHide(page,"p");; t; P: { n5 J' S* u+ ^; F& j7 p) a% B
8 j9 }( b- q$ t% p; {( S( ~ }. H* G; p, ?, F/ k2 E
% u! h# r2 O% ~ x3 @) K4 B" P% ~ }
, @+ O4 ]. v2 c7 Q W) B this.getobjstyle=function(node,prop)' a: A. [+ Z& {
{7 h" U/ z. h+ j8 }
try K7 x @* N0 \6 A4 |0 d
{
7 ]% k- M, @2 L0 O, j0 x: j5 @3 X7 A return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; D) Y' W0 [/ j; P# K }
) s; [1 ~7 c5 F" V9 U catch(e)
- U# O; A% \! M2 @9 H {) O2 N' q* q. U* g
if(debug)7 H8 Z5 ] s/ O) m/ \
{
( B/ z# ]5 f9 [' q alert(e.message);
% N" W- ^3 i. e+ s }! y9 c9 C8 n5 y
; n; L7 d6 P3 }" `' m7 |% Y4 M
return "200";
/ T$ s- O1 R |7 [- [5 |; S }" h$ Y% |! U0 h+ b! s; o
}) k3 m, z8 U' [# Z" M( ]. U
/ C( @ f4 A& F' k3 y5 Z1 B
this.RemoveHide=function(page,objname)+ ~ Y. j4 `5 X# b0 u5 G
{* ?' L& ^4 r d9 z1 {- V' s
try
7 }$ n' C2 P8 A+ ^- t% J3 G {
& _0 t1 m" ?8 ` var minValue=15;+ K5 E$ F. ~8 M1 t2 {2 f6 r
var objs=page.getElementsByTagName(objname);
% T9 o& U3 R; P& J8 r( q9 w
. M2 Y' b- D+ _! x* }7 O2 S if(objs.length == 0)
( Q0 e. t% C2 H( V D1 o* d {
8 {2 Y5 c3 z% V if(debug)6 q1 ] Y: E; O+ _, V
{
: k3 \! _) k* N* X% p, b alert("no object found!:"+objname);* O) O, H9 M' c M" D1 ^$ E
}2 `" I( p& M* K
}
( O4 j% S# z6 K5 d* e else K; l) a! Y" K% t8 j
{" e3 f( t. {8 \/ t3 Y/ d; `5 T
3 Z$ {% Q) c3 g! N" H" Z for(var i=objs.length-1;i>=0;i--) % s$ F+ M3 F- R6 K
{
/ B. q) q; A) L$ H+ I5 k var node=objs.item(i);
& l& E7 m: p6 {4 |3 M8 v2 \ : v2 r r2 _% q( O
# a9 D, `7 r+ ~1 y- s if(this.getobjstyle(node,"display") == "none" ||
4 N- Q! r& h# P }* c0 f9 [ this.getobjstyle(node,"visibility") =="hidden" ||
8 d4 s1 v( J' M( e9 q5 p; C parseInt(this.getobjstyle(node,"font-size")) == 0)
4 u1 {! M8 J7 G/ F( J+ Z H: x {
: h% R3 w1 c, g6 a6 ` if(debug)
4 p0 q/ M1 w: j- o( r {8 G6 l$ D4 o9 f% X& W
alert("remove invisiable!");
4 d7 p! W E/ |( q) n- T+ N }
: u+ t4 r# W: L M3 G4 W node.parentNode.removeChild(node);# W6 Y& }( H7 B
: D* _, R8 o' ` }
, j" T; R r9 o, L" E else
( J/ y' j5 M* p2 f/ K. \ {
) p0 {8 \$ @2 k7 M* n if(node.parentNode)
/ ?1 F+ T0 ?! R' A {
1 e+ e0 z9 s5 G1 ~ var orgNode=node;
! g, I: O8 f( r var orgColor=this.getobjstyle(orgNode,"color")4 A! [" R+ {; [
var orgRGB=getRGB(orgColor); % P" N: N# A% v+ i' i
, Q' N' }* ~3 {4 e8 ?* E2 F var parentNode=node.parentNode0 A. o' `! q& g: Q7 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" |: D( H, u2 @- w+ X- N9 [' G% K 4 ^/ I1 H8 w, j0 D% I
var isLast=false;) P$ {( C* N# H
+ y# P: Y& l: {. X! N while(parentBgColor == "transparent") # ^& ?8 y; j) w$ e
{
9 v" N0 Y% L* v4 g- L+ B * d+ C4 R( ?% C
o; A9 B- [- F- D% f; L& L* [, u' @
if(parentNode.parentNode == null)
7 E& c) U8 z4 r3 \* e: X) V! G. | {
! K! m( S6 |; k( Q& f isLast=true;
1 f( K D6 y+ L break;
& ^0 Y3 f8 Q! ~8 ~ }' Q$ g* u4 l$ b( y# m
parentNode=parentNode.parentNode;( Z5 h; e4 z9 P
parentBgColor=this.getobjstyle(parentNode,"background-color");
& D1 ^+ l5 L" q5 V9 M( h1 ^3 N; h1 D9 M: s2 r n/ E* p
if(parentBgColor != "transparent")
. V4 I1 U8 m0 \' M& |; ]3 D) { o: G3 m {
e, K5 J5 x3 U break;
1 e4 [- |$ D& u- P1 J) @' F/ Y }! ~, t* a+ c: r# c4 _& V2 q7 B- G
}1 Q& J: O. M% L: t! T' r8 _, i
if(isLast) : ^$ E( t! |5 {& \2 q% b
{
6 ^- C/ x9 n) O; q$ j! M' E" H if(debug)
# s9 i0 u c4 C {. K! f/ |9 R4 x7 j! D, c# `
alert("last!!");# w* m; K* r( h/ r5 T
}8 Z3 d5 P$ E( ^; s4 Y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) h* @6 }( _; _( E$ I( R {
5 B$ g+ s {/ W; ` orgNode.parentNode.removeChild(orgNode); ]. o+ J+ L) h) \; G9 L
}
9 I7 w3 ]7 S7 z* |4 V }
! }+ S3 B) Y+ u, J, h5 T! ? else. [: J- z& F" L$ m
{
& V+ M6 _7 e3 x if(debug)& Q$ |' S7 ]/ W- F. M8 K
{$ f3 C7 d+ D- ^2 o5 j' G
alert("compare color and parent bgcolor!");
; s- E8 t# u' _; z4 B9 S9 g }# A3 {0 X! m, ~, o0 a
parentBgRGB=getRGB(parentBgColor);: C8 M8 a) _% ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ H7 `/ v; L/ i0 I$ p8 _ {: e% c5 ~+ K$ n" u" [0 ~3 x$ P
orgNode.parentNode.removeChild(orgNode); : h- A& |8 k. m" `% {' O1 R
}
* Y8 ^7 z4 U0 X }* X# K9 O- i* {$ e! M# f
}
: l0 b7 E7 k7 d6 Y5 | }+ b& Z& G0 e- _1 i5 D
}$ y9 B2 [2 Q: h! F9 w- o" r& U) _
}- ]1 `8 @% e( l' x+ o
/ C& _* A# o/ Y# L
; L- _0 Z2 Z+ Z/ |
var itemFrames = page.getElementsByTagName("frame");
/ }* d$ I7 X/ T7 q ? var itemiFrames = page.getElementsByTagName("iframe");
$ H3 L+ p& `( D8 } 5 z% _/ |' G8 w8 @( z2 Q
var frame, iframe;; s% {9 N+ E# V7 v- q# f
if (itemFrames.length > 0)* b5 Q U) @8 M- ]; P* q
{% P2 u3 { a- @
for (var i = 0 ; i< itemFrames.length ; i++) ' o1 h9 y6 u" l3 @$ G0 _6 u0 k# o
{
2 `% x; [7 |) J6 S: P frame = itemFrames.contentDocument;
4 r4 C1 s" `/ t9 o this.RemoveHide(frame,objname); 3 {( _# R2 T# r. p4 k- \
}) v. j1 ?0 M* Y& N X, [1 D3 u7 k
}: r9 ?* ^: F* S+ V" n: A4 x
if (itemiFrames.length > 0)' z7 {$ T5 R; G3 P" ^6 [; e9 c+ F8 v
{
9 R4 b+ F8 _) s2 @7 {7 x* Z- [ for (var i = 0 ; i < itemiFrames.length ; i++)
# |8 z5 X9 l9 Q: L7 p! H$ N( s {
2 C& ]7 Z- ^) E) G$ z t& o" D iframe = itemiFrames.contentDocument;
5 V, T" P9 z, d, _ this.RemoveHide(iframe,objname);
4 d. D" ]$ Z. C; X }& L: b2 m" d" D( B$ e
}& Y" f: i( n; d6 U9 g1 e3 l: }2 ?
}% q- v5 z* s3 B( w- S J& R- l- x' i
catch(e)$ ~% U5 X% c' ? ?! N8 V; E6 i4 N: D
{
3 O0 @1 R8 a3 v/ b if(debug)+ v9 w9 E' A" U2 n) g
{
# F B9 Q2 u( F# \8 ` alert(e.message);; m F/ f1 P: Q( q8 [2 ~
}
1 D2 P2 }) w, q5 i5 F2 V }9 F) B6 n4 F3 D% \0 O" X. t
}9 [2 d# n% t6 N: c
- K- \8 L! U1 h2 V n$ O4 A4 T}% |+ h, G+ r3 p3 L, K6 C* X
( A+ V- B# N" e1 c+ \# [* m
function getRGB(colorString); X! F F a) h( R$ F' Q
{
) G, p5 D5 ~) K1 a var RGB = new Array;
0 Y) V! T! o5 z: o var tempSting=colorString.substring(4,colorString.length-1); h! o0 e$ q$ i) A3 W
var tempArray=tempSting.split(",");+ z1 _1 X; i, j# K
) D& D# G7 _; h1 y4 H
RGB[0]=parseInt(tempArray[0]);$ n! h( m6 i6 x2 `1 O3 F) {+ ]
RGB[1]=parseInt(tempArray[1]);4 ?" p6 B' J; z9 i3 ^' `5 G
RGB[2]=parseInt(tempArray[2]);5 K5 ~! G0 O/ W
1 f% }. x- X$ U6 y( t, L return RGB;
6 y& F- E; W [6 o- A3 t( ~5 [}
% x0 G( Y2 T* W. i% t0 O" Q2 r; wfunction keys(evt) 6 X n0 {3 d9 `3 X: u& F) u$ H, a
{ , r% f, v1 Z3 T) @9 D% X5 I
if(evt.ctrlKey && evt.keyCode=="81") ) u" Y4 } m" a; T3 b$ Z" o' m! d
{
|% e% j8 s6 e+ K' j r; [ CleanHideObj.on(0,1);5 [$ b2 t8 ~6 W6 W; @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. z" {8 ?; t4 u/ `4 K ! c S) ~: B( @2 q
} " v+ N- f. ?, }8 d( H1 @0 ?+ y
} : T$ D1 f7 r' ]
document.addEventListener('keydown', keys, false); & g% L4 V, P+ Z8 \+ l* G
GM_registerMenuCommand ('Clean Hide',
; e' i4 }# A' B: |function(e){. g/ Z5 v; q$ X' }& O" |5 s/ l
CleanHideObj.on(0,1)9 c5 {- |5 D9 g% c2 k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: a9 f$ b7 X% h( P
});
* m, Y1 B _5 o3 {9 ~ |
评分
-
查看全部评分
|