|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 V$ D8 ~5 Z2 A5 x K
- q2 c `' o( w( c3 M火狐插件,用猴子6 \, `* y0 M9 T" S
1 S: T( x4 A& ~8 u. Qvar debug=false; ' K+ n3 M5 k- A, E( y7 G
var CleanHideObj=new CleanHideClass();) a8 |: b# B8 I" N
/ Q. P G, d/ o& ^% {5 ~2 U* I4 dfunction CleanHideClass()
# a: [/ m: p3 U; P* V6 h{
0 Y Y5 @+ S- I ( ^: N- h. E8 E- q& a
this.on=function(id,bMZ). H; o6 N' E- l0 V5 X0 O+ i0 U" a4 C
{8 L3 j% @- Q6 G5 `- {+ I
) A9 x9 p0 T9 Q0 U$ ] if(id == 0)) c- R: U4 N; D( k% \% I0 P
{
0 O4 K$ V) R! T- s0 y! ?) A$ p3 f var page=/* document.getElementById("content").contentDocument */document;
" X4 W* [$ }; I3 i7 M8 w5 B& f this.RemoveHide(page,"span");
4 s9 X3 q8 G+ g this.RemoveHide(page,"font");5 T; K! b3 C7 `% J5 p: w
this.RemoveHide(page,"div");
) _1 L) x+ ?/ x$ x this.RemoveHide(page,"p");
: S# @3 d, [: B0 y( d * \( [; T& d8 `0 X( o- `
}
0 Y5 `1 n7 S, e: i 2 M' V' Y; p+ I* G
}
! G; S* |( f2 P: x4 Z0 E this.getobjstyle=function(node,prop)9 m2 d0 I- i5 ?6 a5 y- R1 M5 g8 N
{0 ^' V* C! D$ w9 v! G5 {# z2 t. A
try
, I$ c: x/ m' g4 T0 p+ b {
- @/ f% R/ S" ^) `) r) W% J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& ~' v; a3 N4 C; u, n
}8 L% n$ E' O# d9 w J, K
catch(e); }+ b, h% S& n$ z9 N
{
X+ l6 t+ x9 P( l* a& E+ i4 e7 w if(debug)5 \+ y/ u( S- W! z# R1 p/ |
{
5 U7 [1 A6 o- S# \9 ~ alert(e.message);' Z/ R8 @( V9 J+ Z. l
}7 z$ R+ b" }7 Y" ~2 B9 G e( Y d
4 Y! Q1 N- t) ?/ X5 y
return "200";4 b3 Y0 p" \2 h9 ^3 x. O c
}
) G4 g+ o$ L+ O }
3 ^# ?9 X6 h7 F) X# Z; i# q
8 `# R2 F! r, v2 E7 ^) a6 ~3 g this.RemoveHide=function(page,objname)' ~! }3 o, K- q8 I5 s& F
{4 C1 R, ~# t$ S
try
; ^$ R- m1 g9 w4 d+ x6 x1 `) ` {
% v9 C; W' ]8 _/ y& [, x7 L var minValue=15;
7 H3 _ }. \( C$ F( ? var objs=page.getElementsByTagName(objname);
+ b. M" {. e" e# c# w9 _$ g$ y4 U8 {! D& ]. u5 o) P
if(objs.length == 0)
4 Z( l) ^# z: @2 m {/ Y0 U- r) |# _3 n+ F4 M
if(debug)( |% s4 {+ C- Q" m6 s F0 A9 }$ x. N
{" E, o* j; c4 ^9 \% {5 D5 J0 \
alert("no object found!:"+objname);6 Y$ m) m9 m3 j2 f; p
}2 K7 m3 o! U- z( P' |& W4 n( v& f
}/ H7 @) x3 B; M6 q2 W# p
else; n8 \0 Y9 ?- {) A2 g8 Z% x
{
. h7 F! j" W4 P9 }4 c2 Q+ n
5 @" T2 ]1 ]0 k1 c M0 t for(var i=objs.length-1;i>=0;i--) , r+ L( g3 j9 b* k7 Y# A
{) P/ E* S8 n" `1 Q- Q
var node=objs.item(i);
8 o9 |$ C3 s2 ]" p7 x & a+ ^9 k$ I4 g
6 i% F/ T; L9 Y
if(this.getobjstyle(node,"display") == "none" ||
% w) B4 J3 I+ C2 s this.getobjstyle(node,"visibility") =="hidden" ||
5 h3 D9 l. y, _+ i) `9 g* j parseInt(this.getobjstyle(node,"font-size")) == 0) 4 S" q/ ?# e% V9 p* f" E# W) Z
{
5 o$ q" Z0 t, U x4 d" F if(debug)/ {4 p' T( ~* Z6 f1 P. r2 N+ h) i
{
; _& g9 H F4 K4 \7 A/ M alert("remove invisiable!");
; ]8 Z' r9 d/ x, u# ^ }
# r8 ~1 h) N6 Q0 }( Z2 \ node.parentNode.removeChild(node);
. z' [, }& A6 Y* ~% W3 i 3 l* O3 y- u h' B8 Z; f
}( z1 A9 X! L# m3 O$ ?+ a5 H* R
else 1 W0 i. Z% s6 m# r
{
q( Y i b1 t! D if(node.parentNode)
/ p4 z, p# M8 h, P {; w' h3 U( |# F
var orgNode=node;
. Q: \5 d, Z- Q1 g7 X' J8 D2 ~ var orgColor=this.getobjstyle(orgNode,"color")4 {! A3 o+ `& Z: L: j
var orgRGB=getRGB(orgColor);
% h$ F5 K5 ?, p A0 h% G$ B( v
5 v+ u% M9 y D8 O' A! R var parentNode=node.parentNode* _0 E. j$ m2 T* H, Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 ?! V) W6 q0 @! Q+ f4 N. e : y8 C- U/ H0 J W: X
var isLast=false;
* ^ t2 Q4 ~4 \7 j+ D( B) a
}3 q. [( I6 F! h while(parentBgColor == "transparent") ( A# N8 d+ |$ U
{
% s* ^/ J5 O% B; x ; F% n# n# D) }3 \& V# X# ]- Q/ Z
' x) Y) w% k# j, w if(parentNode.parentNode == null)% S \ S) n: }( D! D
{
' T: \1 |0 Y4 A% q; s" S isLast=true;
% H3 e. I4 [3 }. ?- C) N break;
$ S% d2 e" B n6 a7 r }2 C5 t: Z# x% k- a8 ?, b: {6 }
parentNode=parentNode.parentNode;
5 ]7 ^: }' L, C! Q& E6 w parentBgColor=this.getobjstyle(parentNode,"background-color");
* _; T; }% H+ Z1 `% ~4 B2 v( K D% j X
if(parentBgColor != "transparent")
# T: E' k' }" Z- v6 F: Y/ [( j- B: D {
9 N1 g' C# H/ G, u1 s$ I) @ break;* o1 d) h$ X' w2 w4 N+ J
}
) Y/ Z5 \& N: m( E1 _/ c }
8 x/ r9 i( x3 H, M if(isLast) / d# |) [9 v0 Y" i
{7 x% F* B, h8 ?* l5 `( H5 X
if(debug)
G0 e1 W) I' z- e4 c {
8 S: w" y: m$ g/ j$ Q( U alert("last!!");
6 s0 F' W1 h) L- D, q) i* X }
0 N9 [' E4 \1 x- t. e# Y2 u if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 K+ o8 i" g5 t6 A
{# E& F5 Q9 {1 q3 S+ ~- G1 O
orgNode.parentNode.removeChild(orgNode); # F" B) z) o" |$ P! M4 x0 Z x" J
}
! C' l: g7 c3 ]3 ?2 b2 d% i }
6 @. E0 A2 M5 K8 R2 E5 x9 H/ \ else" ~/ F1 t, Q% }
{# j) L; m( E3 S
if(debug)
" \7 w' M- z0 r- [0 B {
. a0 |6 K2 Z) L+ v1 `1 w2 m8 w9 n alert("compare color and parent bgcolor!");
1 y: d$ X" y5 \ G3 `* s5 \ }
2 f4 _- {) k: V2 D& E( }6 S. }: c parentBgRGB=getRGB(parentBgColor);
8 U, T* v3 f8 |- |+ M" u; r' d2 W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 {( R0 f& C. N3 Y h
{
l+ F- P2 H# H0 k- _) r# ~ orgNode.parentNode.removeChild(orgNode);
# Y+ v i" b# G* v0 m }: G1 w$ S* a9 p8 d, C' p) E1 s
}
@8 S3 j. S% D3 R8 u6 d) u } t% K- V- m& B% R8 N5 \1 v
}
4 {) @3 [) i% r8 A7 r, ]) K" S: N }
# c+ s, V/ c8 C# M7 {7 P0 I }
; G+ [9 B- N/ k/ _% j+ s
. c: \) d {- k3 ? : O! W. I5 {, A' p# ]4 x
var itemFrames = page.getElementsByTagName("frame");
* Z9 ^ S8 `) A6 { var itemiFrames = page.getElementsByTagName("iframe");; C- R, {6 n4 A. E, q
2 U5 M b' y7 d8 N var frame, iframe;
7 G$ z9 I0 m" A( }% e if (itemFrames.length > 0), k$ P; k n1 J, h }7 h
{
j* _9 ]: h3 @& p for (var i = 0 ; i< itemFrames.length ; i++)
e2 m6 g/ e: m" u5 n {
0 W% x; e7 u" X8 f ~; |4 i frame = itemFrames.contentDocument;
, U d9 L. G P: Q9 E this.RemoveHide(frame,objname); # T1 n, }! t; G! |& I" e. }
}+ {/ \0 y, |8 r8 T+ P$ \
}
' o: ~1 b5 V4 z: }* | if (itemiFrames.length > 0)
0 C* i" @% y6 H% `; A {$ ~ [& l) S. m0 {8 e" t" p
for (var i = 0 ; i < itemiFrames.length ; i++)
* K9 f6 X" `# w$ M& b6 r {4 J) D `0 M& H5 Z/ K. u+ T
iframe = itemiFrames.contentDocument;
; D# O# E" \% @" v( U* [ this.RemoveHide(iframe,objname); ; y! j$ `) v! a1 N
}
; [0 X. e- K. t# V }
# ^; E0 ^4 R3 N( k% }/ L }) o7 h, @# K: s1 Y5 |4 Z3 G5 z
catch(e)6 |" C( B3 R8 H9 f' i" O! @
{* K1 t- s. H1 }4 I) P7 V3 t
if(debug)
1 v. H* c' q- j: d. L {8 S, {9 y/ J1 a0 @. `3 b/ s1 I/ W
alert(e.message);; G8 S( Y% A( w* M8 i
}2 v/ R9 o- `' D5 F n: F* B7 F
}
/ @: o8 n n8 l. E% H; S }& L( v" p' Y# J9 I
0 d1 k& c* Z5 O, C$ [. Y0 s0 F
}
% e1 ^9 p! i1 o% A2 l
. q7 I- W4 R2 j6 }$ pfunction getRGB(colorString)
; E8 Z' f8 h- |! F+ }& B. E9 c* d{
$ L4 K; \$ l+ F var RGB = new Array;
, Z6 \6 `- e8 J7 d var tempSting=colorString.substring(4,colorString.length-1);$ x, J7 t) @, K0 F! h
var tempArray=tempSting.split(",");
- x+ r) @' @4 Q' y/ J1 O5 d; R! K# M! y
RGB[0]=parseInt(tempArray[0]);
# v) e# ], v2 d, X( V4 h) T/ j4 C RGB[1]=parseInt(tempArray[1]);
- M; ~. l$ n8 v" t. n- q3 W7 i RGB[2]=parseInt(tempArray[2]);
o/ Y S+ L& S0 u; m * u/ L! _& B8 f3 S* n1 U( ]
return RGB;
* s0 k7 A9 X) \% l: Y}
: `+ N9 `4 D+ ~# ? P! Pfunction keys(evt)
7 b9 ? g- v ~. _* _ {
, S- F! O* K" l% v if(evt.ctrlKey && evt.keyCode=="81") 5 k% D* c% z: G/ _. M, Z8 S6 `+ f
{
5 R* |; M; d( {+ S CleanHideObj.on(0,1);. [* {. \; S' _, ?! ]/ |/ ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, [% ~2 I8 h! _5 x8 v5 ?/ ]6 M
7 ]3 s1 H7 N! x4 Q V0 L- o }
/ R8 {. k* b9 A3 q+ g5 ]& } }
: p4 O2 ?- N- b7 G# r' _0 |document.addEventListener('keydown', keys, false); : [1 m+ Z/ ]1 O# o+ q8 Q d6 j7 E- `
GM_registerMenuCommand ('Clean Hide',) g( q; c, a( \6 Q
function(e){& D( O) i. [: T, S: K/ B
CleanHideObj.on(0,1)4 X( i- j K' ^. ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: v* z2 H' [3 T
});
( E1 y- B- h+ _3 ?. r& G |
评分
-
查看全部评分
|