|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - u! S1 w! J5 J9 J7 i+ _4 m; W, J
9 K" A+ Y2 E! P9 Q/ M% B
火狐插件,用猴子
+ p9 C# ?0 f, Y& H7 P( j+ `" \+ L8 V# N
var debug=false; ( V/ ], }1 ?1 K$ G, ^3 [5 _* x
var CleanHideObj=new CleanHideClass();1 t& i) A4 Z; e
5 O2 X6 A2 k% q l4 ?function CleanHideClass() 5 s$ n2 n7 B; }/ q' N/ u6 ]
{ 0 }+ d) I6 z/ L9 b3 O
+ Y( [- A9 g4 g! X this.on=function(id,bMZ)4 A% Z. T; U; c+ k0 v6 f# R0 J, u
{
0 c @; R; i) t# X
( b) ?3 z! w- V5 ~+ v' b$ S0 o if(id == 0)
' ^2 B ~, k z {
" T. W9 d) |7 u var page=/* document.getElementById("content").contentDocument */document; . N, W# N$ [8 R, c2 l( l# C5 x
this.RemoveHide(page,"span");
/ y, M! b% o7 g" V this.RemoveHide(page,"font");
H1 G1 L# I& I& z, J2 |$ ?; Y z% F this.RemoveHide(page,"div");! h) C5 t/ \) a" N& Y! ?
this.RemoveHide(page,"p");
% H' Q' Z$ _: P9 g o " D6 R4 i. C5 |- l7 z9 q
}
3 L, o7 }. ]5 w1 U \ , Q' q* a. C8 `) t! a- h) T
}6 _9 T3 U! x* R0 R
this.getobjstyle=function(node,prop)0 S/ t3 b% \) t; M/ S' K5 U# o
{
% f/ m+ Q9 y, \" ~7 d; S8 G try5 r" @& @0 j2 c5 H% v2 r# l
{( [, b4 [- ^1 e1 G' q \# b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 I, P6 {6 H: \, E! Q" J
}
) Y0 _. V; N+ u9 } catch(e)
8 s7 P8 S8 K5 [% _) J% p8 n {- ], V5 X; Q/ h4 l- e. A. L# @
if(debug)
0 I2 p3 E4 n: }7 r" k {# q, X1 o T' v( [+ a' |
alert(e.message);* A, I% X, p4 }% i. k# }
}/ |2 M [9 ~, P( _$ A6 H
( X4 j% }/ G8 l8 J. n
return "200";
# V( X: ?: M- X }! Z) ]/ }* G( z
}
0 T3 O: s* d9 \ q+ _$ O
$ }; E! ^% D! ^* ] this.RemoveHide=function(page,objname)
! w6 e( ?7 n p* w `- G { ^$ a" i" X) r2 O! J
try
4 |' ]+ |7 G( ` { o% Y0 e" Q( C
var minValue=15;
- S3 r4 c! t: W- e var objs=page.getElementsByTagName(objname);
2 P# }2 u: Y2 @) Z* j% `# s( F0 @8 T2 R" ]
if(objs.length == 0)
p3 u- o% E8 M5 y( J! [ {
: C9 {! `: S& J1 f if(debug)
; i% R. e( [2 T: G {: |$ [% o0 g8 J
alert("no object found!:"+objname);
$ G- c# p2 l% F) J+ ~/ |5 L }& m% n# P+ {% P. {
}, w& b7 _7 g \1 S0 C& ^1 L
else
; p( q1 e; f) V0 W1 y {
: Z- E4 F) C5 `2 k: i* l ' c9 _6 r; B' V* D7 ]: \+ a
for(var i=objs.length-1;i>=0;i--)
# v1 ~. b6 J) Y" D9 @5 i1 | {
, q& R) U# q9 W+ B var node=objs.item(i);
; o/ ^% @6 }; H/ @! F* m' ?. k % Q5 A! Q8 w8 `. D8 A! m; H. V
; f4 Z* U; Z9 r8 a, N! Z
if(this.getobjstyle(node,"display") == "none" ||* h( G" N" [# j
this.getobjstyle(node,"visibility") =="hidden" ||
+ @) Z! H1 I- `8 }5 J T0 `6 S parseInt(this.getobjstyle(node,"font-size")) == 0)
3 u- P0 M/ v A J {# M, u6 A( N( i) V' Z
if(debug)
3 q$ O g5 F0 K {8 { {
% V/ O2 h! i% G0 T3 W7 e$ X alert("remove invisiable!");
8 q. q( n/ H) | }% f$ x% n! c: k9 v$ }1 H
node.parentNode.removeChild(node);$ t* X8 B" J$ r6 T
/ D* A% F- m* d* N8 U+ w* ` }* P" u: j/ b. ?- r: T0 u1 o! L
else
4 O& k- v# u' W: N0 a1 Q {( P' K: b* t5 m) f
if(node.parentNode)
8 [7 ?, p. t5 G& ^4 q% |$ `- U {
" X. Q0 ~1 E. `; A5 f( k var orgNode=node;- v* W* s# i: j
var orgColor=this.getobjstyle(orgNode,"color")
" a& u1 O. n/ n! w1 J var orgRGB=getRGB(orgColor); # q, C; @) c, D2 k5 ^" Z& l9 w
( f8 t6 V4 @( R! Z, a7 z/ o$ \ var parentNode=node.parentNode2 X8 h; u# G1 W/ V. _) {+ Q3 d
var parentBgColor=this.getobjstyle(parentNode,"background-color");
g4 u& t2 e# i8 U, f, G + p9 c- f! W4 I0 D& b% h
var isLast=false;' a7 ?/ j" w: v, d4 ? f
5 L, l" @+ j" c) O
while(parentBgColor == "transparent")
3 \& o9 S8 i3 R: _7 Q5 p. e; R. U0 c {8 k; L4 C+ V8 R q" @
) g0 d- A( H" ~6 w& m" J& o $ n; `( y- H# V- f+ L& z! q/ J9 y
if(parentNode.parentNode == null); f& y; W# g' e) B$ r S
{- Z$ q& B2 Q2 L. l, n$ Q; y
isLast=true;) `9 N7 W$ I/ L" c- R$ B3 F; T
break;! _& t5 v7 x* i; q
}* m% [% E2 X$ T3 \( C& L6 A" H
parentNode=parentNode.parentNode;6 G5 i$ p1 ]" L" ^2 d
parentBgColor=this.getobjstyle(parentNode,"background-color");- u( N+ G0 H8 c+ I, e1 K
3 F1 v. Y3 j! H- O9 { if(parentBgColor != "transparent") ; ~2 T7 g- D3 j' F! P7 j
{
G2 f$ a( _- h2 e6 R+ f break;
* ~8 V9 T$ F# s: b4 v4 \ }
, |, a6 y9 j+ t# b }; D8 T$ D+ O3 i
if(isLast)
8 C/ R: ^3 o7 d; d$ s: o6 p) j2 a {: W ^8 J6 O6 B( v" u- K
if(debug)! P3 i% x6 {8 O0 I2 O5 r
{- q. |8 L- D) b, c" Z9 Y) O( L
alert("last!!");
( p) Z& U( h" n$ O! f1 V }
! ^/ I2 K y8 s' G- H5 k5 ?% J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 m Q" \- e! z4 E/ H8 s
{
- r( ]9 M4 P0 d; H+ ~- G orgNode.parentNode.removeChild(orgNode);
5 M4 n( r6 r9 }# Y. u7 W$ | }
6 P* p2 M* Z. A6 N. I. L+ w+ ` }) i$ S1 b" x7 q9 H; ~" P
else( N$ N2 t6 s' Y! q# i; W5 G
{
2 n- [5 @& U+ Z9 \* e8 S* r1 T if(debug)& z- p& W7 D5 Y7 u, z% [8 a( f
{
# @' i9 w! D) Z9 M1 y2 I alert("compare color and parent bgcolor!");
& I7 F+ T7 A a }
% X2 R1 W2 J$ i/ m ]3 e1 {0 z parentBgRGB=getRGB(parentBgColor);% F, n4 k, [) R# A
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' g" s5 _% X7 o, \& X: z0 P {: ^( K. w4 f, g* f% w+ }) i
orgNode.parentNode.removeChild(orgNode);
& O3 Y( J4 J7 s" b( X4 D- ] }. V( O9 e# N' h- v# x- S2 T
}: o7 F6 u1 u: _/ |; ?$ V, B
}
+ Y7 }5 r% ^2 T+ v0 H- @7 D }
9 S |0 U4 X1 Y; @5 Q }
6 }/ h/ J/ |8 m7 j; l" ? }; g8 u# d1 x, ?; \- p
6 w$ ~& i5 n/ r9 {* x
. U0 n" d% K! f7 o var itemFrames = page.getElementsByTagName("frame");& O% [& ^: B4 y$ F
var itemiFrames = page.getElementsByTagName("iframe");
- c( s$ v: q- @& g& T! Z ' p0 p* T! [( m2 v3 s! H3 P% a. `
var frame, iframe; l! ~. E V9 f e5 V
if (itemFrames.length > 0)
* O* n! u! a1 i/ h {8 P7 m0 D# n+ q4 D. g" p5 v8 ^& o/ R# {
for (var i = 0 ; i< itemFrames.length ; i++)
6 ^) a1 }" {# q3 k1 y, w: n {" [ S0 `" u$ x9 j/ _: K
frame = itemFrames.contentDocument;
6 s+ l2 _4 x+ r) ]* j" J8 H8 r this.RemoveHide(frame,objname); 6 `- E$ ^3 I+ `* v( H
}$ s4 I) @' N1 ?* ~* a* o4 F
}
, [5 ^4 `. {/ ^# f! @ if (itemiFrames.length > 0)
; g/ J& W, N M9 `3 e4 _$ d {5 c2 {" \+ ^2 t: O% }8 x6 T1 P' ]
for (var i = 0 ; i < itemiFrames.length ; i++)
?6 x; l# v5 t' G6 j {
! \, r" T) }" o7 G2 C- I0 @9 r iframe = itemiFrames.contentDocument;
4 k l g* M1 o% c. }! `: G+ { this.RemoveHide(iframe,objname); 8 O. F8 I0 G3 [# C- U, B0 j& U( q+ Z+ {5 }
}
- N3 D; Z# w( n$ G; s+ D }7 V" r$ W0 D8 |8 X' Z
}3 r, n0 Z" K& S2 J, @* m/ W
catch(e)
' F* |2 {$ x: o3 q. x* c {
% E, k, v4 o* C" i0 H if(debug)
. m* |7 f- ^% L( i {
: ~# `9 w1 N7 F; h alert(e.message);
# ^# w' g" [6 J2 X( c3 z! u0 j }- [ F9 c3 c0 z% Z
}' L1 t% T. ^& e
}
$ Z9 W; Z, \5 F/ h5 x! ` . p% P0 M: z$ D, v
}9 \# o$ h/ X6 w0 c* U" T( |
3 E3 E+ v- g1 S6 U+ @2 Hfunction getRGB(colorString)% T$ M$ i$ d) S, V
{
3 }" w; H$ R; A* ~6 N7 m ~! B var RGB = new Array;( f( c9 g( ]3 R
var tempSting=colorString.substring(4,colorString.length-1);
/ v X" m+ t5 m6 q& N/ E- i% p/ \ var tempArray=tempSting.split(",");
( F4 f$ x ^9 f: I
- w7 O1 u- k z; T+ z+ x+ V RGB[0]=parseInt(tempArray[0]);
9 p& |9 r0 S5 \) [3 h7 e RGB[1]=parseInt(tempArray[1]);0 b) G0 \8 I2 Z, Z! V1 _) K" O
RGB[2]=parseInt(tempArray[2]);9 }8 ^/ m2 g% y: y
8 Z- P) f8 k& y9 H* _/ h* X; B return RGB;
9 g# u1 G8 j" Y* @ O" Q9 G# s* {}
$ w3 U7 o' ~ p7 l3 {! Lfunction keys(evt) 9 |% |+ {" D9 A1 Q5 H6 T* y" w
{ + L3 l B, {/ ~& |
if(evt.ctrlKey && evt.keyCode=="81")
1 H. g) M5 i4 e- c! @4 e& I {
5 f. D1 |- a2 { CleanHideObj.on(0,1);
# H' Y, x8 R" e* g* t9 j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / }& {$ j0 v1 j$ f* q, D
3 u2 ^. o* T- W6 e* W( [ }
8 n# O" j/ i( z" e/ [6 ^, m }
. r- K, A+ A- \0 edocument.addEventListener('keydown', keys, false); 5 t/ w+ W3 ]) H& \ r
GM_registerMenuCommand ('Clean Hide',
4 Z* ]7 \6 G& g( E. Xfunction(e){
; \6 B+ X) F9 GCleanHideObj.on(0,1)/ q, u: c& H. c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 A. z) s2 r# [4 D
});& Y- N" {: t. a, ~ x
|
评分
-
查看全部评分
|