|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 c" a$ Y2 T. a. k7 N! o' C! k, V8 E3 ~8 f
火狐插件,用猴子
2 p! e& k) G* X- b4 {- f
+ z9 f3 k( p( ? Vvar debug=false; ' M3 H. ~9 _" a+ L0 `9 x
var CleanHideObj=new CleanHideClass();
4 i% ?+ J8 ^8 b0 |; F; j/ [7 ~ j- P0 v, }# L2 y4 ^/ U" _
function CleanHideClass() ; q9 Y. q: G, N# |
{
- g6 w: [3 }9 o- f' U: @/ |$ J . W" H7 D6 V g, A) C
this.on=function(id,bMZ)& d: x+ S, L, h, B
{5 z2 j$ I) n( P
: M% P. e' n# _( N# U if(id == 0)+ q+ s% T: \1 ~) S: o) T
{/ F, a X7 E) M6 W1 G6 T6 Q& L Y
var page=/* document.getElementById("content").contentDocument */document;
5 O% @. H' d: j this.RemoveHide(page,"span");
) H! |- Y/ r5 @+ t: i# x0 x this.RemoveHide(page,"font");
, G: J- i2 w0 z6 V5 O! F; M! p) p this.RemoveHide(page,"div");6 Q/ ?# ?% {+ }0 W5 H' d
this.RemoveHide(page,"p");
$ }4 b0 V1 A7 `" C# u7 I* a 7 v' }1 O- I' U( W/ \. U# `1 b2 g, ^# v
}
7 X2 h0 w0 F, B' e) ?+ X
. l) a0 ^5 B. e, n# _7 u+ L0 o }
' D5 B* m- h2 Z/ p: z2 a this.getobjstyle=function(node,prop)8 |# j2 B- [& B2 p( S* Y0 y
{
8 @! U3 I" x: U try
" Z" y, s; W% F7 \; i N {
6 t7 C. t& k# v u( ]7 M$ {1 \& r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); l3 M1 p8 Y! a' M0 j7 Y
}1 e8 {# Q4 t& l5 n3 B
catch(e)! B- v7 k/ o# e+ A: S' q0 _( |
{
2 D# C8 ~0 A+ K) b- J. `- ] if(debug)
0 M' O9 U& T8 B3 Y: F3 V; x {
, h$ {9 X0 h& g1 k alert(e.message);
* {. [, p, n# T% M$ c" A9 j8 ? }' B: E, e9 z3 y H# R4 t
$ u0 o8 [$ J- f return "200";
9 a/ h: N. d0 B }
9 u/ C0 V4 e) r }- i! o2 ] _; @; s
* p0 F, V# }9 m this.RemoveHide=function(page,objname)1 Z% j! N' ~2 E' m/ x( M) V
{
9 F7 F. t" t% g. [7 S% l; a7 }- h- W0 B try
! h' s2 E( i; j5 U5 L! A {
' B& _" E6 B3 P T' r+ @9 ?3 c var minValue=15;0 E6 M0 X! K( Z1 x4 e+ s
var objs=page.getElementsByTagName(objname); 3 p" B0 q2 t+ Q2 g
- w1 o- W" [9 V1 J( a2 J if(objs.length == 0)
( W& g7 S4 |% X0 A' v {
& B' ?! @, e, _0 @* b( | if(debug)$ Q% P! h, g( k" Y P" D
{
4 J- l$ o2 f( c alert("no object found!:"+objname);5 e$ M. y. O- T# d m+ `% g% e
}
8 c9 k3 M! Z# j v! x2 N! r) D1 ` }* P" |+ c" C) T5 ^" ?
else+ n% o5 [& z. f0 S& Y
{2 N! O' _. n U, A9 N
; C& a3 \+ O z$ x/ C( ?2 ` for(var i=objs.length-1;i>=0;i--)
/ B. l H- @+ z, R) t {
/ L+ o5 [: d- o" P% T: o3 r var node=objs.item(i);
9 A; h# i1 s6 t0 y$ A# [
6 G% E1 v* l/ H) f % Z. H; w- }; Q: H+ S0 ~* @
if(this.getobjstyle(node,"display") == "none" ||" v2 ?8 ~/ ~+ O/ p9 I
this.getobjstyle(node,"visibility") =="hidden" ||2 }+ k1 N6 C" F+ \& T' x
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 F8 q/ f9 s1 D, ]7 t6 ? {" m. E5 {9 V% {" ^
if(debug)
0 U. P( o+ ]3 m {" [& k0 f# }3 i! R! @
alert("remove invisiable!");
( ^2 y. {. u' \1 H* I }5 ?& ]( J( S) B9 b
node.parentNode.removeChild(node);* c( O% Y5 w; N1 X
2 y; C& Q4 R- P8 P x }9 S/ ]* A, b/ t+ y4 v
else , A( A( o. O2 u" E
{8 T' A$ q: S8 y0 `0 _
if(node.parentNode)
; S1 t" Q, k- P0 ]: a7 @ e$ f {- q/ W' X [, Z R8 [
var orgNode=node;5 E" p8 a! ?7 c+ B/ z8 d& p( `
var orgColor=this.getobjstyle(orgNode,"color")
' e; } ]) v+ b- h# ? var orgRGB=getRGB(orgColor); 2 v1 p& l) z! |
5 U: n6 P) `# L% g6 A5 D# {
var parentNode=node.parentNode& G' W+ K& a: V. f( i* Z4 O8 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* j8 b8 D7 D; ~& T! Y r" ?5 S' o5 N7 @% s1 @$ O8 j, A' ?
var isLast=false;# K9 R' B, a% Y6 H
, B2 K# E. J* i
while(parentBgColor == "transparent") 8 z. u Q: F# e8 P3 I) Z+ T( t
{
: n( C- |/ y' Z ~& g
/ v, i7 M- O# u" U8 g7 C2 {0 k ) }2 [; _% K9 q! a, f! i" _9 `1 l3 h
if(parentNode.parentNode == null)* K( b! m6 `/ R* j7 J
{1 {) S" d2 y6 O9 b" D/ P, c# q
isLast=true;
' B, u0 t( x6 V! a( {' G+ g, q. @ break;. R% X1 Q7 i1 t, {2 g
}% P/ u9 x; A. O3 K
parentNode=parentNode.parentNode;
; p- K9 y( s2 U9 q3 x parentBgColor=this.getobjstyle(parentNode,"background-color");8 H/ j7 c& J0 @8 ]( X8 E& F
$ o6 `* g+ [- O o+ p
if(parentBgColor != "transparent")
6 L% s! U1 }% }# ^0 D {; h5 l* Q/ t5 u5 R& [. I$ ~
break;7 n4 m6 g* o0 w3 E: L
}: L; W7 Y8 ?' E. i; C) d
}3 ?2 k# T% \1 X* f& K/ Z: h
if(isLast)
. x4 x: F. P' @* V# W {
L( r! @( f# O9 v0 `# T; Q8 e6 Z if(debug), U+ b3 n, p" `9 S' c
{. P8 b. R/ g. g% e
alert("last!!");1 s& ~/ p8 h# B6 b+ I
}
8 B+ C9 O& u! H4 E* f F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) T6 t' ~6 p& e0 n V! z4 v2 m
{
" w( U" ~" c* q6 ^9 ^ orgNode.parentNode.removeChild(orgNode); 3 m' d' d/ @. W* a2 ?* m5 x
}
7 T1 L- O4 N* r }* W( w5 }& C/ u4 Q' p
else
8 A9 J# M& z+ K8 M {/ p' c3 g; ]# {9 ?
if(debug)
" |1 r. w1 G o% e! | {
4 f/ B3 s7 H% u* r/ i6 ^ alert("compare color and parent bgcolor!");$ Z$ Q1 M. }8 S' f$ b6 P2 Y3 T+ C
}' s2 c' s& K% s8 R! p8 c
parentBgRGB=getRGB(parentBgColor);
$ z; K4 x- |* q+ a- f4 Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ o1 h+ U3 v2 \8 q' ~; C, F
{* a, w- {% V4 v; r' O8 W
orgNode.parentNode.removeChild(orgNode); $ @6 R2 r+ ~; t9 m( {2 k
}
) J) p7 u4 C) |# G0 g, U7 |1 L }
( M+ u z! e, R7 j# B }
! N0 d, g. R0 B } L) e: S4 m! o* @: |% U
}; n2 z9 P% \) i( K; f: N( j
}( t& T' {% H8 [. M2 k! F/ x
/ ?$ H8 L" S& L5 O
5 ^/ R6 V" p7 G/ c, n
var itemFrames = page.getElementsByTagName("frame");
$ @/ |3 ]( I. Z$ q var itemiFrames = page.getElementsByTagName("iframe");
5 E7 f! N3 h' h0 @5 s" d" m $ ^/ e' H( T# t2 Z' v$ g& V7 t
var frame, iframe;3 d+ _) V# @- l1 a( g
if (itemFrames.length > 0)9 J0 J' ~' O+ Q& i" {1 i8 d
{
0 m% ~3 a" Z5 A: _/ f for (var i = 0 ; i< itemFrames.length ; i++)
! U7 l0 l: z4 g+ H: K( f. U {
. k3 j' _1 ^" r7 r frame = itemFrames.contentDocument;/ R, Z5 F* \4 p; x8 x# {% ?, z
this.RemoveHide(frame,objname); & ~. V1 f6 G" p4 e
}
* ~- S b1 M, Y" G( l9 g }: g, o) j! G) q
if (itemiFrames.length > 0)0 |3 S0 O8 G4 T7 J3 Z& k
{
( _0 h; s4 p, D; e1 l* ^ for (var i = 0 ; i < itemiFrames.length ; i++) ( C* r) W% s5 o1 v6 D" \& J
{
* U! ], M8 ]. {7 F0 v iframe = itemiFrames.contentDocument;. D( _. b1 t! U& r. F" f
this.RemoveHide(iframe,objname);
0 ^5 q# l% |" j0 K2 A+ z }
3 O# ^# k( e0 ?0 G) X* v( g5 _ }1 P. @$ N) E! C$ ~6 E
}
! N# Q+ a; ]& @0 b catch(e)# n z# |0 {/ A* ]2 [
{
* f0 _3 B' v. W2 k6 }% N& ?/ M if(debug)
; \0 T. `- o3 o {
- _6 u& N. l! B/ d" G+ C) | alert(e.message);7 q$ [! t- `/ d7 W& |/ n
}
, g! F# N- \0 T8 E2 _- [4 Z! p }
8 R: I& C4 u$ A+ K; M4 G }" Y- C9 N7 h- ]# a. P8 o3 A+ R
$ l# ~, g7 b7 i& n' H
}- W0 p2 z- U o" Y1 w6 h/ H% u6 Y5 O
2 s \/ U2 O% e3 z
function getRGB(colorString)! P7 Q3 Z( O) o. s3 a9 U* L
{9 t2 q1 ?( Y; X
var RGB = new Array;
0 t3 O5 L' c' q$ f4 T7 q9 m; y% G$ x var tempSting=colorString.substring(4,colorString.length-1);: |# m3 A7 T" w* `# S4 X0 P
var tempArray=tempSting.split(",");7 j9 W" D2 z& ^; s7 k+ M
3 n0 v8 F$ V" d; B! \3 x& Y! P7 w5 L
RGB[0]=parseInt(tempArray[0]);
Q. f: t }' v0 C- i& X* M) i RGB[1]=parseInt(tempArray[1]);" K6 V$ G5 r' s& D& `, c; d3 _
RGB[2]=parseInt(tempArray[2]);
2 F% i; N9 D6 V. y/ M
: W2 [9 p. k' A( ~" Y. ~" T return RGB;7 j2 n+ d0 C9 y0 \
}
! w) t* O5 U+ |9 O9 |3 \ T5 O" nfunction keys(evt)
, p+ L! ?$ U4 `* {0 ~& ] {
1 p& C1 \: g5 I# k$ R if(evt.ctrlKey && evt.keyCode=="81")
4 }5 M& y7 v( u {
, a: O) U8 R! R- U$ K CleanHideObj.on(0,1);
) Y; k) \- D" B0 w; m9 r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" x2 v+ ? y5 b * }7 ]: x% ?) V8 z0 E& D# m# O4 \2 W
}
3 K7 s) W! ~. T+ X, m }
' v: k& e- u! k' pdocument.addEventListener('keydown', keys, false);
# i% G3 [4 a9 h% c [ QGM_registerMenuCommand ('Clean Hide',
) r8 O3 X5 I7 O4 ifunction(e){' x5 \! k6 a) K! x3 u9 [# s
CleanHideObj.on(0,1), x7 p+ \- D) t. t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, Q, g0 \! H: v& o1 P* f6 H});
+ Z; J6 Q6 J7 d; p. T0 } |
评分
-
查看全部评分
|