|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 C; {! `1 _& q- g% q
9 W9 s' X- }: A火狐插件,用猴子6 N1 J8 F+ g2 d
B# G' j9 @. U4 g; I# A! p! Q
var debug=false;
# b4 |" |' x" yvar CleanHideObj=new CleanHideClass();/ G& Z5 q- Y) H; P; m* D
; e2 h5 V, E( m3 M3 I, n% T
function CleanHideClass() " q# w I2 k+ @3 U2 w% ^
{
% M4 G' S I: E( r
; g, c% w7 M( u, ~ this.on=function(id,bMZ)/ b/ G: s4 L0 b( N0 a8 s1 ^4 m
{1 V; _. o6 m- U: T3 m8 w [: C+ t0 v
' Y" r6 @0 u1 a7 J
if(id == 0)
7 y# t+ s, q$ r6 |" z& J5 W {
5 G, x" _$ X+ d! L var page=/* document.getElementById("content").contentDocument */document; : I( s. m7 F8 O9 C/ c! L
this.RemoveHide(page,"span");# @+ |5 R- b0 A4 L' X8 U! B
this.RemoveHide(page,"font");8 n4 P7 ]7 m% a
this.RemoveHide(page,"div");( N* @0 B4 @. \8 m5 y
this.RemoveHide(page,"p");
. r* ~, ~1 Q0 d* V: p& F
) V4 j: G$ E. m }
& d. ^( R% ^* c$ g6 X. J" t; X 5 ~& b( x0 X+ K; G7 W
}* P; s9 }# l8 j5 ]; R; G' d+ J1 i
this.getobjstyle=function(node,prop)
) W. y! }8 B L% e {, U- t+ n' l$ B
try
; U5 f4 e- o# D: E {0 r' O/ g3 [. y0 k' \
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 c$ R" G) w* M+ v/ h
}
8 S- V+ N2 [/ x+ g5 w' t" R catch(e)
/ t- R4 s/ R9 ^, N2 C- K* l4 ~ {
' N& P3 q% k& u7 Y' _0 g if(debug)
/ s/ N! N- T: Z- w- _: k {
6 s5 r7 h$ W, U% h$ w alert(e.message);
4 e+ S9 ?) C4 ]1 s) {& j5 T }
0 K% v+ Y) y6 r* B8 w
8 \3 u! E! s, w/ ]6 f return "200";
) i7 e6 \+ g8 b }
+ C- y2 H" m& b6 j4 ^* c }, @+ c5 |) g# A5 r$ q8 D' h- ?
( X* e/ m, E5 C, z this.RemoveHide=function(page,objname)9 S6 D) ~5 s/ j1 I
{
+ r8 \* Y; H/ j/ k: U( H/ r; M0 W8 k& | try+ I- E& N" y B
{3 a: c" B" S+ ]' j5 {
var minValue=15;$ V' E! X" B$ G
var objs=page.getElementsByTagName(objname); : K) i+ V1 V3 w5 L! j5 K2 q
3 M$ i& c4 K5 ]$ C1 V' `# c if(objs.length == 0)
5 Y, P( ], i2 m, H' S" }4 V {
& Q$ o% x8 A% Z if(debug)% J9 G. i! e M; l0 \
{) w5 b! l' ~- B% G# Y
alert("no object found!:"+objname);
) N+ I) t0 m+ f1 V0 N }1 k" z; r$ Z6 O$ U% y! ^; z$ O+ H
}
, M6 Q) |3 P/ ~" o' v* G3 ~. O% H) t& B else
* l# b* V0 y$ Q Z4 d! r {
7 r( L0 e. W6 y X/ B- w, r
) ]7 b3 f( m7 z3 F, j; b9 V* R for(var i=objs.length-1;i>=0;i--) # }( F' t$ Z2 m- t7 _( a% d
{, U( Q) v4 l% x e
var node=objs.item(i); . C, G' @! j' R# ]/ \5 d
$ N2 d3 z: l0 S' F" `; f
. D* Z m% Z; p/ v( j
if(this.getobjstyle(node,"display") == "none" ||' x. o3 R: R, t5 B
this.getobjstyle(node,"visibility") =="hidden" ||& h& w7 B# {" n( [9 I& q
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 k2 e( i2 q. F, r
{8 d/ l2 k& d% |; K6 g A
if(debug)
: K( R% @, W$ f e {& u' z2 |' Z4 {2 L
alert("remove invisiable!");" y9 N! k& X, f2 J( p9 Y6 U; @' h9 M
}! n$ J8 N/ U; F: K
node.parentNode.removeChild(node);
2 [& q0 ^3 J9 k9 ^2 K: L
' g- s% B2 c$ J, r2 s1 j( B: y }
, _4 o0 ^# V9 A- t3 B8 E4 j/ n else ; S4 o2 a) N9 C& P7 C P
{
9 W* G5 i6 V) r6 |. h if(node.parentNode)
0 P: s& p ?' S {- o) X, G- f8 v( D6 u- ?9 s
var orgNode=node;9 P, G5 ]! G: H6 Z
var orgColor=this.getobjstyle(orgNode,"color")
3 S# ?4 p. ?; ]2 K. s, f" S" l var orgRGB=getRGB(orgColor);
5 _2 w* J9 \0 o7 o F' ^1 O& ] . ?1 o4 i/ m; [- @; A4 Z
var parentNode=node.parentNode: Q: {. u5 S! P+ H" g' W8 i G* [
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 m7 e" V$ Q) e( B, } ! h& W, |, a7 A1 b' c6 v
var isLast=false;
- d( b# c6 A, ?+ x" B/ y D ; [, s: C7 \" Y- r$ x
while(parentBgColor == "transparent") 1 ^6 A+ [ ^: y- s$ G0 k% B5 Y- z
{
0 p5 {5 H* b! d8 f3 i
$ {5 d6 H% H4 I" Y
$ ~' r" K% N0 O/ y if(parentNode.parentNode == null)
2 {( I( x. P+ L( U {! P6 t+ O. Q6 U9 m9 j ]8 [
isLast=true;
7 ~2 h$ z/ Q5 s; H) p8 |; t# y z/ Q1 S break;1 e# ~: Q9 `7 \6 d
}; I* b& ^: S2 a( f" R6 a) \3 ^! h2 I
parentNode=parentNode.parentNode;
- @2 ^# n) p" }- J: E parentBgColor=this.getobjstyle(parentNode,"background-color");
" B+ h2 j+ [& E2 f9 c+ Q( z7 s) h0 }8 x; P% e! e0 w: H
if(parentBgColor != "transparent")
( |& }5 v- Z0 L1 Z, r, K {
3 z$ V n# |; F( B break;
: e* P' E+ G8 U0 J+ D- u, | | }
0 W$ X, l8 o( [! w }7 } W/ O: e s2 m! A
if(isLast) ' e6 J3 ~! z, ]0 F
{0 N8 F, U+ j% M# r; d2 n) q4 U0 B- L
if(debug)3 K3 R1 g2 M# j: G% D
{
4 S$ Q" K- a ^9 M) c alert("last!!");
. r4 L, M# Q# h6 M0 }# N/ T }& J3 d& b( k) r0 d1 X3 W# t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 M+ n1 n" }0 _9 i# L
{
- r7 L: Y, h) F6 |3 ? orgNode.parentNode.removeChild(orgNode); $ @) {0 f7 D o3 j1 S5 I
}, I0 O7 h( X* q: _4 v6 ~, j, n
}
% B% }' N6 W4 F* L r# ]4 w. u) S# i else
e; \+ ]0 [# x4 }# m {$ t8 V2 k! @ \! H) o, X' M9 U+ [
if(debug)) Y1 a5 N1 e2 p5 @- K
{5 f* {. K8 X9 S. c
alert("compare color and parent bgcolor!");
, F3 J) n& U" n }
* X& Q' v( G9 V( u( g parentBgRGB=getRGB(parentBgColor);* W0 b; a# S4 ^/ ?- j C9 n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# |6 O% H( u4 w `- m8 c2 [/ D {
. w3 ^& Z [% ^' n5 E2 ?3 {6 _' P orgNode.parentNode.removeChild(orgNode); 7 r; q# b( o/ g; G( Z" c+ O& K
}5 C5 l0 G# o R6 L
}2 B; |& J8 |' r4 `/ `
}
/ W. @, }" A4 Y }3 L& M) ^2 H6 r/ @: P
}
! ?0 w6 X: W+ c }
2 G( B3 L; U |$ Y# I4 p
' m! m) }7 g+ e1 G5 M
; y4 u2 Q5 T5 X' N9 } var itemFrames = page.getElementsByTagName("frame");0 t3 Q; e# c4 w' O/ |
var itemiFrames = page.getElementsByTagName("iframe");
4 L1 |0 X) X( f0 Y5 z; E' I8 a 5 I7 e" K2 f/ I6 q4 }- @5 J2 Y
var frame, iframe;
( S3 i4 s' l5 m7 O: g7 B4 F$ w, T if (itemFrames.length > 0)
+ N" E1 Q/ s' @ {' r: G. `' l1 G
for (var i = 0 ; i< itemFrames.length ; i++) : I z* n" a; y N
{; a' Z8 I% ?. Z$ m2 U( d
frame = itemFrames.contentDocument;0 j3 \ f; F, C: X- O5 k/ h# a) U
this.RemoveHide(frame,objname);
, k/ G6 e- \: `+ q3 U* Q' e- a }) U: m! {7 L4 L7 |. r. y: D; y/ g
}
; ?) {7 u' m: ], A: S if (itemiFrames.length > 0)% R9 `% v& B# u0 y- h# m
{
: s; A- p# O* j: C for (var i = 0 ; i < itemiFrames.length ; i++) 0 }4 G: [) V2 W
{
9 p4 ~6 F0 H2 u% f) i iframe = itemiFrames.contentDocument;4 u" \4 i( t0 _7 N$ c
this.RemoveHide(iframe,objname); % ]& G; D' O" ^; X
}
% x$ t, L' {9 {& n m% L! s2 h2 f }
4 v% O8 r! n+ H1 n" W }
. ^, }2 j) W! }+ y4 _& w- W( \$ P catch(e)
; c% r, O8 O# a, j' ^ {$ N0 z8 m5 c8 F3 ?' @
if(debug)
1 ]4 h3 f' M- s5 h8 G9 ?1 C: Z {8 a/ A! K" N; b: e5 Z" f+ |! K
alert(e.message);
! R# N( N7 x) f4 [ }
: V: Y: p3 ~+ b- L" m5 ?9 t) O1 g% Q }2 d8 ]8 N5 q. l# q
}# ~0 `9 `- @- u5 Z K
1 F8 b K4 O" q% c% a1 V ^6 }8 T
}$ s J q$ l% g( V* j- a: e9 F5 u
" K1 z( ~* h# O8 b! m( qfunction getRGB(colorString)
; J, z- x" x# L{, Z# f) @& Y' q
var RGB = new Array;
- n: k7 p- K) B0 @9 X( ` var tempSting=colorString.substring(4,colorString.length-1);/ r: A5 A% P( W. w& F: `! m
var tempArray=tempSting.split(",");- @; p% G' u* u& P
/ s2 R8 q0 n, p5 w. \! M
RGB[0]=parseInt(tempArray[0]);( i" [2 ` S6 u0 E& z7 w' `
RGB[1]=parseInt(tempArray[1]);1 u# n9 k7 x8 d
RGB[2]=parseInt(tempArray[2]);
+ W {. l2 m( R0 ~& G8 @, b
/ o6 V: R, ~5 f+ J. U. h1 M return RGB;
6 ^+ W6 Y4 ?& F5 g' ]}: M3 l, D' P4 m! G
function keys(evt) 0 K% y7 O8 r9 h6 y! Y
{
1 c0 S, [3 E4 d. z, X if(evt.ctrlKey && evt.keyCode=="81")
, p3 V! q3 v) z' A- A5 m7 c' M! o { . M. C$ H* H8 i% q
CleanHideObj.on(0,1);7 q' F: h' q( b( r8 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 I; U% Q( o; o& ^
; Z# F& l3 s! N/ u } " @* h' l& y5 j4 O! s4 ?: `' j
} / F! H7 ~5 ]# v" z! p
document.addEventListener('keydown', keys, false);
6 y6 Q' c% Z% d9 K6 O' dGM_registerMenuCommand ('Clean Hide',5 `0 q) f& Q9 p" A1 H
function(e){& o0 |- z# T. m
CleanHideObj.on(0,1)! R+ r( }. W6 z) p3 A( i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 s7 x$ P, x- ~) c% G. g: L});! i/ T0 K" c3 V5 k2 i7 O( }
|
评分
-
查看全部评分
|