|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # v: A# d( f5 I, H" {
" b: L0 Z1 j# H火狐插件,用猴子! F( L4 _, G" d% m
4 c% S3 b L7 r
var debug=false;
/ S; a2 Z8 B' l. z8 Kvar CleanHideObj=new CleanHideClass();
4 S6 D. P+ a7 Z) G( Z" }" V8 B' `
" b, q" Y. K4 W, hfunction CleanHideClass()
2 g2 }$ p6 e7 {0 r& [3 y8 M{
0 n4 ^% J) @/ b
9 ?, G: [6 Y* e4 y2 q9 y1 \: H% ? this.on=function(id,bMZ)
" d' j% \0 _( x' k: W {
p6 g+ g8 b) N4 ?; C: @& J4 u 8 n# M. g/ [( E8 S. \( P+ y& j
if(id == 0)8 U" M5 y+ ]5 @* q5 k+ \* {
{
8 A n5 P) Q& |$ L var page=/* document.getElementById("content").contentDocument */document; 9 @7 C4 q' K2 M4 x5 A
this.RemoveHide(page,"span");; j3 d7 n" t. M
this.RemoveHide(page,"font");4 a- [# ] T3 N3 f) i/ f4 C! z0 U
this.RemoveHide(page,"div");' f/ W* R* j5 c r9 U
this.RemoveHide(page,"p");
; X4 O# ]( ^5 @( F / z) v E; ~9 k3 \
}
; k* Y9 Y! s6 o7 W w- B# u
0 {6 W( c1 D* Z$ z* B }$ Z5 `" M- h) Y( _& c
this.getobjstyle=function(node,prop)
; {8 k' b# D* d; M: D6 D |6 Z {8 W& O8 n; `# _2 S
try" B! }$ N3 O' n- h1 Z" X
{$ t9 w# B! J5 v: ^ o% ?
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; n) M7 x- Z0 b& \ }
! J9 i& J0 L$ X! l9 n0 ] catch(e)
) W; R m7 Q: O4 s' ~5 ^% b {
( Q3 h! w7 D# y) o3 j* L if(debug)
8 J6 o* ~. N8 C8 _* d9 A {! E! J3 M- \! e! Y: s
alert(e.message);
; y# [6 K% Y. G# R% U- s }
& r9 I# ^3 C$ G
% S2 H( M0 N1 E return "200";/ ?% R6 M6 Y: C2 @7 K
}& n9 Q. y1 H5 ^6 R# H" L5 |1 W
}& R; ?4 o. G2 L: k. b7 i3 J9 t
$ v3 G( V8 H/ @" w" F this.RemoveHide=function(page,objname)' I8 n: W. A N
{* U& V# o, s! F. f/ D* e1 n
try. G: ?0 M7 U' U' `4 [. |! c& |
{, [, ^4 l @3 h+ J, }7 |
var minValue=15;. Y( N" s' M1 h6 H6 U# Q
var objs=page.getElementsByTagName(objname); + J1 d6 \ {; `9 g( }; _
8 }7 C: U! u9 F4 c. ` if(objs.length == 0) ; R4 H; R% r$ p
{
* ?( c) l% d& W, a2 \! Q if(debug)
- u% {9 C" [7 N {, S/ Z% p# M$ w' ]! h w+ L+ k
alert("no object found!:"+objname);- V% Z0 H6 R# U
}
+ q+ x- R- M- w; {! ? }
. _4 L8 |5 o6 R4 w else3 b4 G/ \; I1 z. P, l
{. @' n# o* ^ F5 S3 b
4 [0 F1 Q9 Q. I1 P3 y/ u5 U2 h for(var i=objs.length-1;i>=0;i--) 9 a7 y) o3 B1 m
{: p4 k: S6 ~8 C1 z3 a6 S7 V
var node=objs.item(i);
3 Y7 [1 b6 W! Q3 t5 f( E% g
7 u q3 ^3 H! @; w, D9 X - u8 ]) K4 i% g8 q+ A* |+ i7 p- N
if(this.getobjstyle(node,"display") == "none" ||$ t! O! X t& ]/ J' Q$ O q
this.getobjstyle(node,"visibility") =="hidden" ||5 C9 h8 {0 ~" C
parseInt(this.getobjstyle(node,"font-size")) == 0)
' m/ V8 J3 n% \4 P+ g# z# W- X9 p3 A% @ {
& o" L, P5 M* A% u5 t if(debug)3 R- ^" x9 G( u) \3 j2 Y
{; z- Q K1 p/ A( e. M6 ^" {
alert("remove invisiable!");) V1 Y/ T- \( g. k' E4 f
}5 j7 }! U$ U8 O$ Y, F
node.parentNode.removeChild(node);
, k2 b& C' {6 \. J& R * }4 T5 @- u8 Y/ A# L
}
, C5 ~; J# q+ y% S. L else
; V O6 h) n: F8 b9 c6 y {) a' n3 }2 Z1 m7 F4 a b2 n3 r/ Z; C
if(node.parentNode) 7 x7 R! O1 z2 M. Z3 P4 T* d" [- {
{4 Z* ]0 B8 b2 @& k" h3 x
var orgNode=node;
. {# P+ z( j1 p) y" ]( b var orgColor=this.getobjstyle(orgNode,"color")
( `( Y' L3 o9 S# q% J var orgRGB=getRGB(orgColor);
. r( o! w0 f( x* V: s
* f- `4 e6 `0 s var parentNode=node.parentNode+ G) p0 ?" l( ?6 S3 q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ a+ v7 w$ F- V2 ]" k9 }$ P9 u0 n 4 ?" M8 j/ w1 H0 V% t; t- `* D
var isLast=false;
) y( r1 m# e5 n0 u! ]- c% L! m2 Q: t+ p
' K: b; |, \# o# n while(parentBgColor == "transparent") % k. w5 q1 k. O1 L( t
{
3 Z6 _8 z& I7 s3 E2 z% Z2 o 4 q& i) o) U' e! Q5 ~% w
$ \+ c3 ^5 U7 g1 y- E
if(parentNode.parentNode == null)
: C) I1 f) J* R% v0 k. B {
L5 U9 A- v9 X# U6 Y isLast=true;
+ E) q% w6 o4 G4 e Y" R% D2 i5 U break;8 d# D$ m$ t/ M6 U u: x6 F8 G
}4 S3 P ^2 W1 a, B/ l4 V" G
parentNode=parentNode.parentNode;; R1 x1 @' d# N5 U8 g
parentBgColor=this.getobjstyle(parentNode,"background-color");8 n7 W5 \! F/ M' ~" F" n+ n- e& N
: H7 n4 V; l, |# B4 q3 Y! k/ A2 D+ E2 c
if(parentBgColor != "transparent")
( c: o2 X' H7 ? {9 j0 r. f; p& d4 R% ~! M
break;" m" V M6 @7 L( W) s. _5 z# R
}; L, z8 Z1 o4 J. @" z3 t
}' b2 Z4 o4 l3 h. U: A: _% W
if(isLast)
+ g2 ]) E- P, v {
I! E7 e1 Z+ u* r8 L8 V# Q if(debug)
5 O6 F% _9 S @. n' {' ^9 i; [& y {
" S& L. G L7 l6 e alert("last!!");
7 ~( f8 J; F* T( B/ h+ x }4 l0 p3 c% ]& y+ \' q% S; w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ K! b4 A6 A2 b* m7 y* }; b
{" w. h+ @! P# B' S, y
orgNode.parentNode.removeChild(orgNode); 6 B& O: q, `: p* x6 {0 o* ?
}
7 ^7 B) K- h' ?' Y0 B- m4 _0 j r }& K, w: G. ~" F( r7 }+ D; [
else! A# a2 X! O$ M% B0 Z
{; D) k' R7 I6 }& D8 t/ U- v% b9 @
if(debug)
( K0 k" a8 O/ ], Z7 u8 T {
+ A v, p4 D& {5 i% E alert("compare color and parent bgcolor!");, C0 X g+ l. K( ~
}. Q- t' m4 l- Y$ o' n! ?
parentBgRGB=getRGB(parentBgColor);5 s+ v4 T& z/ L) g( Q y( c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) w+ L9 E9 p! `; U {
' n [& ]9 Y a" U: {& p orgNode.parentNode.removeChild(orgNode);
: ?% M- x1 Q+ O, Z- `3 ~6 b' V }
( P3 q! N4 U5 s1 B }
/ d0 B: z. t) X }
w4 B' r! P2 N) J5 s }; h) U! P; m5 F
}
+ e# ^# f1 N+ e+ F" O A1 M& d }9 O2 T" x( U+ _" r Z& `$ u8 R
2 \/ p- T8 p( M8 x2 v
5 M+ `" q8 [5 d9 h5 S% x var itemFrames = page.getElementsByTagName("frame");+ ~: v5 t9 v# z7 l
var itemiFrames = page.getElementsByTagName("iframe");& q d9 b: I& M# ~+ W e
D0 e- E0 L' J4 H/ C& ]
var frame, iframe;5 L+ v7 R9 J2 n3 v8 o& I# p) p
if (itemFrames.length > 0)
; c3 k/ j+ J$ ^+ Q7 V x* E3 ? {
9 H: ]; M- H: {, m& E9 ]) y for (var i = 0 ; i< itemFrames.length ; i++) : g& a, ^( s4 ?6 Q) @% b6 {
{8 r7 V6 ~% I D! W* f2 H
frame = itemFrames.contentDocument;
8 r4 k7 G3 n3 f- ~% A C this.RemoveHide(frame,objname); 2 G' |5 S) [* z! r, k: F. s/ F
}, V6 S; \# F& ? L2 Q
}$ O/ ]7 X! b! U8 D* D
if (itemiFrames.length > 0)5 X! M+ E, g( b% l" {
{
8 O6 o7 B" v' k+ L! ^! _8 Z$ o for (var i = 0 ; i < itemiFrames.length ; i++)
$ E3 W2 s5 S6 @+ Z( C0 M: {" ?$ l {, ?5 N$ u2 m6 B8 a. M
iframe = itemiFrames.contentDocument;8 u9 Y9 c# O( O/ j' i& c
this.RemoveHide(iframe,objname);
+ L- d; b) x; ^! [5 c I5 x } Y4 Q h: L& `: l$ e5 o
}
3 k: [& p5 T M- G2 F }
5 v& S0 _2 ]3 p& n4 ~. {' a2 W catch(e)* o+ ~- ?2 A$ d* L: j
{
6 u; Z2 m: Z4 U- T' k7 R1 g if(debug)
. a. k8 c$ S9 a {
7 @0 [5 @; |7 u. `+ g alert(e.message);
6 q0 P- p$ I: F+ K }- Y8 e: y# Y! ^! z3 c6 ^0 G' l
}) P; R# G1 e1 i9 i9 a3 z ^& s5 Q
}
( q1 O( `1 X' B" p, w8 q % ?! A4 H/ G& I" g8 J
}1 k7 k5 z# V, |7 i- |
4 o0 O/ b; b+ x, h
function getRGB(colorString)
; t0 W3 V5 F0 O* B3 p{( m- B1 Z0 _9 t7 V, v
var RGB = new Array;
- w- R' [4 m% p( c- p1 a var tempSting=colorString.substring(4,colorString.length-1);
* k7 d" I7 z% [' O' K var tempArray=tempSting.split(",");, h3 Q9 z1 w/ D9 G [9 U
$ U1 H9 P- J; v5 z3 K% G5 {
RGB[0]=parseInt(tempArray[0]);; ]4 J) ` U3 o' M# H* ~' `4 {: ~ e
RGB[1]=parseInt(tempArray[1]);
2 g: @6 x, W, P9 n9 s9 H8 y7 K RGB[2]=parseInt(tempArray[2]);8 g; |/ ]$ ]4 _# |/ ^8 K) S
2 m2 y: O: i- S8 p5 ~$ ^+ h return RGB;- J4 H, }; R5 R+ w+ e
}: o, d! Q& | {) ~% n; }' m
function keys(evt) ' Y8 t5 b$ c3 m* l. W. [
{
3 B1 g+ s) @3 e3 M3 u0 U0 b if(evt.ctrlKey && evt.keyCode=="81") ! B/ L( ~8 u5 Z# J
{
0 e4 w( Y+ O" V5 V; V2 `: X CleanHideObj.on(0,1);
3 _ S$ ?: }1 i- _, o# z3 B _9 J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* N( C! ]; F% a! x; F2 ? , g7 ~. ~+ [% L3 F/ N4 ?
} & u7 H% ?- T( _$ O9 M
} ) A- O( N) s5 a# q/ U" a( S! z
document.addEventListener('keydown', keys, false); 1 \$ Y. H( ] o* f
GM_registerMenuCommand ('Clean Hide',' H) ?2 R; ^+ z! l N9 P: f
function(e){
* v; `1 o; r: O' B2 I5 `6 \9 sCleanHideObj.on(0,1)
1 c0 ]+ E# _ T+ `# |2 @+ yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 r8 Z% i) } p});' d& _: j6 ~* U. W
|
评分
-
查看全部评分
|