|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 t: @3 q/ W0 P4 e# |. T0 {4 b
* x0 t x% | u& a* C1 p" |9 k火狐插件,用猴子) q7 z2 y; ]4 P' B9 J% [ s$ O
9 Q9 N0 f. N# g( {: [# M9 N1 l
var debug=false;
7 Y% |9 n, \1 F8 S2 o1 [6 Bvar CleanHideObj=new CleanHideClass(); n# R, m+ p" H& J/ A4 v1 ]- w1 X
/ L! ^$ I p9 {, R
function CleanHideClass()
7 y' U! o$ @: x5 ]3 s% Q{
' T1 r1 k7 s0 R' x8 V* W ; m$ t* @- E- F0 i4 A7 U
this.on=function(id,bMZ); W! Y* b* O- _7 m
{
: V4 l$ G w0 Z 4 l" F1 z. i/ U) w* `" q* {
if(id == 0)+ H* H4 p0 ~' v- g
{6 i; B# ]) Y5 L- [9 z
var page=/* document.getElementById("content").contentDocument */document; , i& K q G* W0 u, i! ?
this.RemoveHide(page,"span");. Y% F+ B" ~ X" f4 r5 j, T
this.RemoveHide(page,"font");
' p; W9 x! k) ~0 l this.RemoveHide(page,"div");4 G/ K: M& Q! N, _; d, W
this.RemoveHide(page,"p");
d! U2 X6 k4 e4 g5 V7 O9 |. m * t4 J9 X) x* s
}
2 G9 L' @9 O9 B0 F5 Z) k! q
8 D& N6 p( d! M, A$ t) G }
0 u$ A. E! x: v+ Z2 @9 c+ j this.getobjstyle=function(node,prop)3 H( L( H' d! m2 T! l0 i
{
T$ q& i8 p2 j5 ~4 T/ Z( y try9 b+ u, D" I' p: E7 `. o
{+ y+ r( G- Q+ e2 ?7 c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 D1 _4 L, y4 A/ P3 U0 o }, b6 R- t! A( a2 f) r
catch(e)# ~5 X( {1 r: k' n/ R6 S
{
( d/ t5 p+ i7 E7 F$ ]# Z' \; [8 k9 t if(debug)
4 _# Z) | A! r' H, z {
7 B! q S. q3 c! P4 o! d l, r alert(e.message);
" V# X' s. c! o5 Q* b) _; p, g }
9 e- t& c, Q/ s
% f8 }! ]6 J# H' { | return "200";2 ^- c: _' h5 ?
}3 `( M: @0 W$ k; R y
}& {! r! H& E" x
% k( e3 b! ~5 ?) P/ H1 r' I3 @1 r
this.RemoveHide=function(page,objname)
2 z. W6 {' e* W+ _3 ` {
1 z; F! V+ u+ q5 N# Z( s try7 g1 O4 y! b+ N( f
{
- S4 q" }& G' r2 H* ` var minValue=15;
' O1 ^, l3 _# F2 s5 G2 X p% y var objs=page.getElementsByTagName(objname); 7 g& v* V- `, L* ~
' j# C* X8 y O( X1 m" ]* m if(objs.length == 0)
7 _& g: W; y5 W$ G {& G' Z+ @( z$ b
if(debug)+ O3 r* |! c0 f" }$ Q9 U
{* ^7 }2 L ^, V! o `, D3 V
alert("no object found!:"+objname);1 r9 r0 g( A; C1 y6 A, E8 d; M" Y! B/ @& @8 ^
}
& h# u* J! }6 i3 H# ]5 ^ }9 R, E& O" M8 V8 W1 G( e$ {
else" y% J& U2 Z1 x b5 y/ Q
{
2 `/ h# r& }; P! B/ D# Q3 j4 q
4 ~' K' m1 C1 R$ C* C for(var i=objs.length-1;i>=0;i--) ) J$ U# s* N- U; c3 y& s1 P, h
{* P( ]' B! j0 O# R
var node=objs.item(i);
5 `# {' a! x R$ q& `2 ~/ D' e
; c8 k* Y( d# @! M; S2 `& b
@3 U c9 F: w8 J" Q& ^ if(this.getobjstyle(node,"display") == "none" ||4 K& H4 K& o2 `* K# \
this.getobjstyle(node,"visibility") =="hidden" ||
( x1 }4 P, r8 h9 u$ ] parseInt(this.getobjstyle(node,"font-size")) == 0) + b: j5 r" C; h
{" h5 i- |% C7 a" n
if(debug)9 G! [& r ^5 P7 j7 `9 M- U
{
~! |5 ~9 z1 V5 H alert("remove invisiable!");, `0 u& k( y0 |( C7 Q" c1 B
}
' Q( Q; Y9 } ]9 R9 V+ [+ n node.parentNode.removeChild(node);
: w' F& h( B8 v9 l4 p# E5 J2 d" g
+ ]" J; U4 E/ t1 Q: [4 e( n }
2 S8 Y0 J- n4 N. { else
7 E( B% H5 V; A# ?9 ]' ^, Q$ H8 P) S {9 ~# W/ @9 C5 c% b2 _! v7 G
if(node.parentNode) 5 Q' T1 j- d, ]
{
6 U: j$ s6 i# X R) h* S var orgNode=node;1 ?2 M' r$ h+ [3 U
var orgColor=this.getobjstyle(orgNode,"color")
# v- [) O8 m$ d) ` var orgRGB=getRGB(orgColor); . f5 r( ] |6 P! h* m P; J
/ j% P' |7 s; R var parentNode=node.parentNode
- S& i1 b( m# n1 x7 {" L var parentBgColor=this.getobjstyle(parentNode,"background-color");) Q8 P/ n9 w3 l0 L* H2 @% ]" x$ K, G
1 @* S! Y- Q% Z- C; Q
var isLast=false;1 `! E- G$ q( R ?8 c% B: c$ }
% T: r8 l& M5 b9 \3 h
while(parentBgColor == "transparent") ) x" u o8 ?# j/ j
{: _; ?8 Y$ T3 W# V$ t1 P7 }
% B1 }2 j! l4 N7 k5 \, g! ?
' V/ Q5 Z3 F; g) u( d" y0 D( o if(parentNode.parentNode == null)
. W/ z" E* c; k( U {
7 ~5 a) K. I( L' ?# d isLast=true;
" L6 U9 K- X: ~6 `* [9 S3 Y break;
4 f0 M6 N. X5 c# y# ] }: Q6 }# D, v% A$ D) y7 @' H
parentNode=parentNode.parentNode;5 T1 ^# E7 @8 t7 T V
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 {% Z% f# a3 n1 n1 b
+ M: F2 n" Z' f( s7 {& B& e1 U if(parentBgColor != "transparent") A2 r1 b c5 p
{
8 u7 L2 d4 a6 | break;
: _/ ~" @* p: o% ]1 v4 b }3 ^! c# m4 P4 c1 d1 C
}' z8 w& @1 b; j
if(isLast)
6 t8 Z7 J1 ^! |5 @ {1 b$ u/ X2 J' [& A
if(debug)5 y( X$ b8 z( q" G7 i1 h& B/ `6 o. l
{
1 q8 [. o- z9 Z4 d* S2 K" x s alert("last!!");5 G( I0 Z' P" z0 ~7 I7 r
}
l2 u0 i7 Y$ K p+ c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); z: m4 _6 B6 ^. W
{
- F9 H+ L% D# {, f/ v; `; z7 X& o* i orgNode.parentNode.removeChild(orgNode);
' d# |/ m6 B* l4 A% F* J5 `2 t# i }# K. r/ \0 H% ~
}
8 {9 w/ _0 f6 q% N else
! k7 `4 s3 R# r. Y- i8 w& l {0 V+ S% h% z. `% F0 n4 k( z2 p
if(debug)
) h/ g1 v# Z0 u6 `3 P {' M' t- t8 p7 i1 F- V" T3 k+ Z
alert("compare color and parent bgcolor!");
3 v% k! ]2 y- V- O }
1 i/ I! q1 q' c& i& G2 M parentBgRGB=getRGB(parentBgColor);
: O( I1 w2 b$ u- x' w6 \( t$ [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# J! u( \0 h" L/ C1 o! R
{
& }+ u5 `6 W/ a0 i- _8 [) h0 d orgNode.parentNode.removeChild(orgNode);
) j7 l5 D. J: I2 O0 l& m" K5 |4 U }
2 n( L2 Q6 G" y: { }
& R$ z5 h3 j* e6 O, Z) U }$ R/ V2 S! v2 H0 S3 U6 M$ w; `
}
( X1 Y; y7 Z% v1 G* } }, R- e, u6 M9 n/ k+ E4 M
}9 c- s: y7 [& G0 i0 y. b4 C5 I
8 G: b2 Q& b2 c8 J K, w" S
) n; f4 e% O: H, R! i3 W
var itemFrames = page.getElementsByTagName("frame");
8 N2 t" ?1 T" M) U var itemiFrames = page.getElementsByTagName("iframe");
! K5 \5 Q. w$ l & G3 N2 J8 z3 }- Y* g. Y4 N
var frame, iframe;, ?+ l4 h4 W/ c9 j! W; V/ x3 E5 \
if (itemFrames.length > 0)& g! s- h9 s4 J, Z# Q' Q2 U
{
" x3 k7 `: R6 }+ [% r6 p% f& Y! C6 | for (var i = 0 ; i< itemFrames.length ; i++)
, A. S* i/ B8 d- ]7 {, ?4 f* r! e {
5 K# l3 z4 u, z9 _ frame = itemFrames.contentDocument;. F: n# F+ f! @% c5 J- M
this.RemoveHide(frame,objname); J I, P! l& J! z& W; N3 {
}
/ h2 ~9 z5 v! o% H }8 q" g: F$ x7 R" |
if (itemiFrames.length > 0), x) i: s% L0 J/ i1 D
{4 Z( r6 |/ z! z
for (var i = 0 ; i < itemiFrames.length ; i++)
2 [9 D) |- B2 e {% |* Z: Y. E2 u' u: D5 I
iframe = itemiFrames.contentDocument;) M8 C6 j" A& x t1 C' S
this.RemoveHide(iframe,objname); ' N9 v$ Y1 j4 U, x' c, E2 L
}# \* c3 H" I: |7 o; z! {! k! E) q
}
) S4 Z7 U0 [. O }
3 Y6 l' c0 r1 {# x; _) { catch(e)
{2 h( \1 c P! j {
8 b2 A& Q/ x; @ if(debug)+ g; N" t6 d7 k4 ]$ ?8 m) E
{
/ ~- f% j- _. U8 L alert(e.message);
f0 B3 u5 x1 M: M" M9 N0 ] }
4 |4 d. |! b, r7 U7 \- p) N }9 u2 O; t" y+ B7 p8 `# y' w
}
$ Q. O; [8 E9 o5 K- j ! r5 R N- B; h8 u0 p
}
5 j1 N# n% k2 d* o# L& b- Q1 A c% m: {: r& L) }' C/ T+ @
function getRGB(colorString)
6 c3 ]* u+ P1 L' p5 M$ G9 _1 ^{
0 a7 Z; Y: f$ A% x5 Y var RGB = new Array;
$ R% t, A: g' d var tempSting=colorString.substring(4,colorString.length-1);! M% H+ s6 [7 O" {2 b, m2 l
var tempArray=tempSting.split(",");
' I) T6 T. h% T( x% F* @# X6 K, B, B
RGB[0]=parseInt(tempArray[0]);9 J0 P$ H: R% g) E( u6 M- `$ @
RGB[1]=parseInt(tempArray[1]);5 P6 }. {) v' y, B2 S5 E; L+ m
RGB[2]=parseInt(tempArray[2]);8 s- K) t8 J/ \4 ?
" D4 V" U* a& O! i0 w return RGB;7 t: X: g" Q# H5 w( s$ I7 `7 m
}
) J+ s2 O" {" U8 L" P/ @. J2 r$ zfunction keys(evt) 2 i* u, N, ?* n* S* @7 `
{ 8 V1 \, e( `& i) [! V/ y& l8 E4 W
if(evt.ctrlKey && evt.keyCode=="81") ! ]9 U7 P$ @1 M( y; V* H
{ e. y8 p+ R" K7 v' q
CleanHideObj.on(0,1);
1 {" O @8 Y- c& z0 f( U, s; }0 I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Q. s9 b# K0 _" D
* i; L y$ v& h6 {" t) K. G }
; v: H2 ?& g& ?& C1 ] } 6 Q m+ l) E. x, X" I* q
document.addEventListener('keydown', keys, false); % J% G/ v; L& O/ }6 L0 K1 r
GM_registerMenuCommand ('Clean Hide',- p. o s- X8 Z v2 Q7 R% I
function(e){
1 { C! A7 h" x" Z& ?4 x) fCleanHideObj.on(0,1)! | W" s$ l' s7 b% @. r5 |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 k& e2 M8 E* c/ l- L});# S0 L4 ], ^2 Z7 X5 f6 U
|
评分
-
查看全部评分
|