|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . p) |) Z$ K! Q8 _$ p e
5 E; o) f+ C# O6 X4 M6 U7 ^# B火狐插件,用猴子
' e. V g; ]( z) W; @
& i( x1 O7 n* D! ~1 R2 bvar debug=false; 9 i q/ _- H# f" o) r1 V+ e
var CleanHideObj=new CleanHideClass();# _- { |. q" O
8 H7 j2 J ?7 ^4 D7 A! u3 {function CleanHideClass() ; {: ~7 O2 P7 E# k9 P; {; ?0 |
{ / u0 h) v- L& t1 [2 f& R" J
* d% g! K4 p9 Y$ h$ ], u
this.on=function(id,bMZ)9 v$ j9 J1 z+ t
{9 B& J+ F- I! o0 M0 z
9 {4 ^0 _& q; P5 Y9 t, w7 h
if(id == 0)* P s# [, l/ @ t$ V
{
. }" r4 s+ Y; [0 l6 K5 P* f3 D* s var page=/* document.getElementById("content").contentDocument */document;
+ M" I0 s% }5 O7 m: R( Y this.RemoveHide(page,"span");, \ z2 h: B/ r! C* P# ^. _4 @
this.RemoveHide(page,"font");
3 x* L% g* P, P& H2 `# ^/ ^+ a this.RemoveHide(page,"div");4 W% }) ?- j" ]
this.RemoveHide(page,"p");
0 z: y6 l) `5 H) H- G + u( _. K5 U; x, R- S3 g
}* j2 m% n v+ Y0 C7 |5 L, ?% M
8 A- d Q1 D+ i. U1 l/ s
}
# [: M8 D& X" {8 l- N* i H- E this.getobjstyle=function(node,prop)
4 Y1 X7 \3 I) z+ l& h% W. w! _ {/ ?. g0 u" s6 ~) U" y! |
try' z' l L5 p' ]1 t/ H V+ c/ L# ^
{
, ^/ \; j* g1 F+ j% S( G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' E+ s6 o: m8 D2 V }
; U" t9 `# j# ?3 z( Q catch(e)
O& O# ?! d0 ^/ r( D {7 N# G# T2 p6 N8 ?; p
if(debug)
1 N7 z \5 L; f# Q' o {; C! T5 K8 B- ~& y7 v
alert(e.message);( q# E2 a( w {2 D, q+ c% E2 d z
}9 x' O/ _6 _* m8 @7 I& I7 }# U
& p, _% B! m" m4 F0 J, K
return "200";0 u% |1 ~) I6 o; l% `
}
+ k* A9 `6 E+ ], |9 I! H }6 j1 H7 q, V; E9 r( I' W& _+ y
* U; e9 {& j* o `
this.RemoveHide=function(page,objname)5 Z- S( O C) R2 [" H4 P# X0 D% ?% P
{% R% y! u. [9 b/ W8 z; u1 o
try
/ n5 k0 V! l8 Y7 G1 f, i" q {+ X, b5 Q1 K5 F% }1 j7 t: \
var minValue=15;; b2 \4 b& H a/ n" B- i) Z
var objs=page.getElementsByTagName(objname);
& Y+ B- T% r5 f$ k/ H2 a. J
: w! k/ R. f1 b8 {3 b if(objs.length == 0)
& D# E/ E& x( M/ |* w {
' H D- l6 Y* u. T, n if(debug)
$ P7 x( O4 H7 m4 b$ m# j1 } {2 | N8 W4 W! ~% j
alert("no object found!:"+objname);
9 j0 P- Y2 w7 T/ S9 ` }
$ f* ]% T2 K9 q% Z$ \3 d: U ^ }
0 b; J6 j3 D; D3 \* k* q else
* I9 C( Q( V9 z' J {
a/ I2 E) b2 \* O% q+ i$ G7 B
" Z: z& b% A5 r4 m/ [$ K for(var i=objs.length-1;i>=0;i--)
I( e6 x4 D$ ?$ l7 k" K {
/ G' ]/ _- ~# k' e; Q( A var node=objs.item(i);
y( R, Z% T# l- |- s$ [) q
9 K8 R* r: O9 e. s ; f) o! d G! ^# i/ L* X
if(this.getobjstyle(node,"display") == "none" ||
, u- M7 l' }& f' @ this.getobjstyle(node,"visibility") =="hidden" ||
/ N8 m' n) ?/ W* E$ V* _ parseInt(this.getobjstyle(node,"font-size")) == 0) 2 N* `4 ~! q f5 w# j& t
{
: g) _ O; j9 M1 l8 I" G if(debug)
1 A- X- _2 S! b7 V! s {8 R6 G9 W3 t% x# Q$ Y8 `9 g; W9 M' t7 m
alert("remove invisiable!");
% n7 ?- L' u) S2 t" ]8 |2 z }
" e' q* R# W2 A8 T: e( D node.parentNode.removeChild(node);
5 F2 r' N m" _* q. Z) T 0 J' d* K6 _* h3 s
}5 {2 W0 p( D# T, c
else . q) a& u) p6 o; }, Z
{; s: R* ?4 }$ h3 g% Z2 Y' v2 D
if(node.parentNode)
8 z! r5 a8 H" o. h {: f' x7 i$ z6 q
var orgNode=node;
+ o% P9 @% e+ b7 |- J+ C6 [ var orgColor=this.getobjstyle(orgNode,"color")
: g8 M" m9 m: ?& W! H3 } var orgRGB=getRGB(orgColor);
# W2 f+ B! r+ N( G+ N$ F
; H7 q9 c% M: {, t z var parentNode=node.parentNode* P6 E$ y6 c$ b5 p
var parentBgColor=this.getobjstyle(parentNode,"background-color");: k+ Y6 v: q: ]/ X" M+ C
! P4 E# h1 u" I: H, c R var isLast=false;
8 w; Z2 n4 d8 z$ m. k 3 N: Y" t2 `# V; ~+ y
while(parentBgColor == "transparent") 2 h2 q. V N6 a, L( u
{
8 l6 J- U' ~, o2 R8 o' ~ 7 Q' X8 {, P( B5 y( U* d5 k- G X
) u! v2 a: D/ q1 c: s& F if(parentNode.parentNode == null)
4 ^8 {; ?) W2 ?( S9 [0 r7 _ {
, C+ K+ [: L9 l2 d( Z/ R isLast=true;
5 g( o7 g( \8 N break;0 l0 V1 `$ B' A, L f
}
$ S7 ~! P f. u" W2 \/ ~ parentNode=parentNode.parentNode;* B* ^5 }+ H9 v- M m
parentBgColor=this.getobjstyle(parentNode,"background-color");) z$ M- E3 A# r8 L' v
8 y# C$ E# _$ Z% m4 E$ |4 r2 u if(parentBgColor != "transparent") ! ^% e8 C: @; [' l) P I
{
4 D% N0 B+ l# Q break;
! W+ a) G% w5 C* c6 S }
d- }: p/ o8 |$ l' x1 y; ^: F- F8 i }3 q6 r6 O I/ }
if(isLast)
) S" I3 c, N$ O3 T5 } {1 N0 P4 [- \/ Y6 Z; Z
if(debug)
( F/ E: t( z/ v, Q. I {
4 z6 X4 L0 r: l6 I/ S alert("last!!");
/ e9 K# H3 \8 f6 b3 Y w; k }
! f1 _9 S" m- q1 B- f if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 B" m8 }1 a9 X- Q H9 |2 x
{
7 |) B- H) V+ A u orgNode.parentNode.removeChild(orgNode); / L( v; {$ _6 Q8 Y& n( H
}
% I3 j3 x7 P# ? Y) P }! d6 q+ t/ r7 `2 x6 t/ z
else! Z& `, @+ g7 w a9 z4 N8 D
{8 G" T0 R& `+ t! @" |; ?
if(debug)1 q' a4 L7 \' H4 F, \; g. n" ]5 v
{
" [% c8 d! W) ^* |; @ alert("compare color and parent bgcolor!");
" {2 \1 r) A. G }& ~/ o' W8 I# j2 K/ U
parentBgRGB=getRGB(parentBgColor);
! Q/ L% j l* G4 S5 h: m if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" j' j7 q! z, S3 |/ v
{
4 I) ]! z" V) q2 |: E2 c* l orgNode.parentNode.removeChild(orgNode);
9 k6 A7 d( _1 \, f$ ^2 Y }
# Q( h# Z" P: {9 h }! d+ R' e5 S( D" |8 d) ^' e& y
}
; v! D6 K3 |! ?5 W( U }
5 I4 o0 U1 H5 d! K' z& I }
- n) O7 J) v. w: j; j% H }
( J4 O" _2 t# q4 T7 n - p6 J) Y0 `6 ^$ B7 [4 {9 Z
$ b1 ~8 G- F3 i: ? var itemFrames = page.getElementsByTagName("frame");
$ \! W) r3 J ~% @- Q var itemiFrames = page.getElementsByTagName("iframe");
8 i4 ~& ^" e( \ [6 l
0 S% q) g5 f t( G5 q) H( _) { var frame, iframe;
3 t7 {+ B6 l8 ^* P5 `2 Z+ Y if (itemFrames.length > 0)7 h- |4 ], k6 I8 [/ a/ r4 U
{( t/ C/ e% G: B
for (var i = 0 ; i< itemFrames.length ; i++) 9 `& o/ b5 l* F( z e
{
2 h) m+ c: Z. M: u0 e frame = itemFrames.contentDocument;
8 c8 J6 j5 L) T! N5 v* i this.RemoveHide(frame,objname); 9 P$ B3 y5 R5 V' _3 ~
}
+ u8 y7 Y: q/ J) N( C, ?0 d* m }2 a A8 t( u( ^. k0 S
if (itemiFrames.length > 0)7 d" ~0 B# b4 l4 [, P
{) O: J- W+ h5 A4 o% j6 W4 @
for (var i = 0 ; i < itemiFrames.length ; i++)
6 k' g' U. o/ V6 l {/ B- ]! b2 S( [1 B$ b. s
iframe = itemiFrames.contentDocument;; g; O5 l5 D; g2 j' _6 v
this.RemoveHide(iframe,objname); 2 a1 w% l' [& Y: q! F4 H4 l
}! ~* J. K) v! w, \" A( a# W
}
! @, f, j! Q* F5 i6 g }
: A% Q) k0 m( k, a0 ?, { catch(e)8 K8 j3 p# }$ s7 c+ t* Z$ q
{
6 V& I" F, t n E if(debug); R9 N9 q6 S1 \$ M; w/ H9 ?# P
{, S( T8 b8 e2 D$ p- | x+ ^
alert(e.message);- w; M5 N- b' b8 a2 Z* ]
}
" Y+ M, C( |% D }
0 u/ x7 P4 q3 }* A; r2 ^! f/ S% ~ a }5 _" V0 V' B4 B$ x9 ]* C# r/ [
5 v" t& J/ J x: y}0 }" L2 z/ i7 i% K
6 R1 C- l( h0 B! U' W0 [
function getRGB(colorString)5 Q3 j8 { d3 V
{4 g5 x3 w7 v' b% ~8 |
var RGB = new Array;
9 M1 M+ X! I$ O# I var tempSting=colorString.substring(4,colorString.length-1);$ Z: L$ w) e' i) |# a
var tempArray=tempSting.split(",");; ]- ?, x0 D0 [
: U+ k u: ^/ Z2 G
RGB[0]=parseInt(tempArray[0]);* X9 [( L6 b' g5 @5 I
RGB[1]=parseInt(tempArray[1]);5 Q$ A# L. T. e& ?
RGB[2]=parseInt(tempArray[2]);
6 g+ f4 P3 i* x3 s1 N1 A% I
0 e! t% x0 u& f return RGB;! n! q! j+ I0 J) m4 d
}
6 ~6 l- |% t) Afunction keys(evt) 1 x5 o* H" R- l. C- L1 G5 w1 G6 v
{ " v, S, m' X: |6 K0 ^7 C; i
if(evt.ctrlKey && evt.keyCode=="81") 7 q/ Z! ~) H- k( ^) p
{
8 t' {1 B- z, t% i/ `; L4 z* J CleanHideObj.on(0,1);( l4 O9 @0 A, y3 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 U8 X* m& E# {2 T0 Y# o
0 t3 e& Y: E6 ?* @" Y# Q; O
} # ?: r, B# R, _! F0 E3 G
}
9 ^ S; ]+ S4 t8 C" q I$ `& _document.addEventListener('keydown', keys, false); 5 v9 L! y& R6 K* c
GM_registerMenuCommand ('Clean Hide',( x/ u, {$ v! j! c7 M; M, B
function(e){+ v7 U; B" p1 x
CleanHideObj.on(0,1)+ B* `7 s9 l! D$ ?0 s9 A4 h; L: u) _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ p; n4 v$ |( t7 A& C" T});
) F4 `$ `# c6 T; q, U; A5 H) S |
评分
-
查看全部评分
|