|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- c" u% n. @# e( G2 X2 C/ M# E) }' t9 o* G" D
火狐插件,用猴子# y: e% N& k( Y3 Z" X& a1 R2 t
# {8 K/ G: z D: T1 `7 c6 ^9 Ovar debug=false; % P( Z! W$ C" ?# t2 m$ |
var CleanHideObj=new CleanHideClass();) D5 |) }: ]4 w6 D+ }( T$ ?
1 @9 e7 ^/ N2 I2 I% z- S9 u) Ufunction CleanHideClass() 0 Y5 r; W3 r" T; [3 v5 ~* y
{ ! e) c( n* ?( _: ]$ ~) L( c+ w# b
1 E: g$ e& v& A1 v this.on=function(id,bMZ)5 d0 m3 |. C$ c2 ^/ H* u P' X
{
" H3 P4 {2 H C. w1 s
" O8 F+ h+ i$ l0 i! @ if(id == 0)
* j" J& i8 h9 W7 V3 t& ` {
2 {; s' }" Z! E& T) X var page=/* document.getElementById("content").contentDocument */document; # N" W; \% \+ t& Q3 |9 n
this.RemoveHide(page,"span");
& A/ Z: |" V( L# ?3 c! Q- F8 Z this.RemoveHide(page,"font");* u" u+ M. D& i9 U. G" z7 L
this.RemoveHide(page,"div");
5 t, m4 v5 M0 g' h3 N; @ this.RemoveHide(page,"p");1 @) v9 e+ g8 p
0 ]( J% O+ [& e7 U! w- B. m. [ N
}
4 s7 @$ G; m: g- L* ?, p# s2 r$ g
e* ]8 w4 A1 q# g. @5 {% G }: u/ }- N+ {7 m
this.getobjstyle=function(node,prop)
/ m( h$ b+ }8 y; \ {# C! I6 T. m. Y# W+ C
try+ k5 d; u. m& X+ j
{
/ X6 d" r; D9 H$ C, ^; E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 e0 z. a7 a: |( c1 N+ Q& @
}% U3 t6 i, V2 T3 C
catch(e)' T1 d" I3 v9 W/ e. ?; E) ~; O
{
9 _# L, I- v% s3 ^ if(debug)% n; P! Q8 ~8 J) E; W+ l4 ?3 X" Q
{
/ i2 A0 ^, J+ [* N" Q! J0 U9 m8 E alert(e.message);1 [0 |& Y% Q' L* w
}! y; p- @8 W1 N% q N5 f
& p8 K: `9 p, h% g1 ^ return "200";# J% \/ E2 ?! J) D
}
. @, Z) f# o7 J7 J0 D- S }
; O5 |( m5 ^& ?( e* q2 X& s
2 |8 j: }$ ?% l this.RemoveHide=function(page,objname). \$ j3 L: z2 n, b
{ d- L7 `" L1 j; |- n6 T/ n
try6 ^( I* F& P0 G0 q( `/ [9 y- u
{ B, j( k0 a8 s1 b* \
var minValue=15;7 q5 ]# x6 Z8 t+ N6 T
var objs=page.getElementsByTagName(objname);
7 s+ D1 r. b3 d/ r# K# C3 e) e- \2 t j& T* k6 z
if(objs.length == 0) 9 R; K* Z9 |; O8 ^
{
0 J) v' Y1 q9 R- y if(debug), ]- B$ l6 l8 m7 @! [: L8 E: }
{; x& ~" Z" a2 A# D% f
alert("no object found!:"+objname);
0 ~4 l1 d `$ E( b: j! X, M }
p4 B: z$ G: p5 a" X% \ }; E' ?( J8 T! n% R# y
else, r0 w! }3 u' [. x. ~
{1 d7 o H+ p7 r9 w/ S% s
5 C' @7 U% u- B% s for(var i=objs.length-1;i>=0;i--) , H* [5 Y( b4 {
{7 z1 u6 O* j( S# N
var node=objs.item(i);
9 x* r2 v! I& d0 L " f5 G( T& G" j5 O, w
! G5 e# L9 q# `6 Y7 Y9 H9 m T) | if(this.getobjstyle(node,"display") == "none" ||
8 K7 Q# v+ W ?3 X$ w, j9 t this.getobjstyle(node,"visibility") =="hidden" ||
" H1 _. s1 C- K* E parseInt(this.getobjstyle(node,"font-size")) == 0)
) n% }6 B* w& f4 i1 e- i {
3 V- W6 S+ b; k: U% w if(debug)
. Z, H! z, x( U {
+ W5 U" E( k2 ?. x: _& G alert("remove invisiable!");
! D& W" `8 v3 d. \/ r }
4 X4 h' O" S* ^2 V node.parentNode.removeChild(node);
4 w5 `# y2 V0 \5 z/ j- z) W , L/ O- _" G$ O& R* x! M2 B+ e
}* U! D6 S& I- u( u& [
else 4 G, B" O) x, Z; l
{+ M) L( P- f" w; w7 \
if(node.parentNode)
! u& j3 z9 o' v, y) g7 h {
/ L( u6 Z# Y/ C* ^ d+ z var orgNode=node;' Q/ ~( W" H0 ~+ k$ z: a
var orgColor=this.getobjstyle(orgNode,"color")
( U: O: x; ?" j var orgRGB=getRGB(orgColor);
( r, x2 E; K, q# ^
# r+ B* Y) Y) o% Y var parentNode=node.parentNode$ I- r* b6 V3 ^3 E" e
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) X% m, ^; Z$ j2 ~- d# h# n
6 D5 i5 ?; E: Z& D/ O' j var isLast=false;8 m* b2 c, c7 @7 Z: o: q
+ g) u9 p& u# B3 n- z. ~ while(parentBgColor == "transparent")
7 t: L7 o7 s5 y! r6 \8 z& v/ S {
* l7 e8 H3 W9 S) O$ ~4 X
) z, A: Z9 l. N
, _) U; t( }; A$ N if(parentNode.parentNode == null)
! z# J0 l" @7 b r4 ~7 E Y {* y2 z1 R& a) O9 U W5 d o% z( Q0 n
isLast=true;$ I& q9 ?" E+ x4 C" R
break;/ G6 {& k( F# ?+ x: H* n3 V
}% Z! S' S1 Y4 m- a% r/ O2 N
parentNode=parentNode.parentNode;
6 E; [5 _5 D# d& r1 \ parentBgColor=this.getobjstyle(parentNode,"background-color");9 S6 E2 Q9 L9 C
% I- v: f5 b' }2 q* ^$ q5 V
if(parentBgColor != "transparent")
" @5 J6 H. Q: T" k" Z {8 Y2 B% k- `: n/ l5 j0 u6 D
break;0 v9 ?) J9 V5 n& Y" V5 p
}
- I( A& T$ }. c, e# h U }. j1 m9 p4 [1 L9 `) j9 ~- H
if(isLast)
* s" O" k/ g3 v3 n& c P8 O5 P1 I {
( g* H! I+ R" i3 C( C# s( c C( y$ d if(debug)
' C2 [1 W2 y/ r# L, Y0 N) {$ s {* ?% L7 e; P4 g ~" ~8 O, j
alert("last!!");
1 i6 \6 m& M9 c* W }) e- w, z/ u( i3 y: K2 i, s* W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 t" K7 ^- w v4 t% m
{
! r- Y' r) D! Y' ~! L9 c# B$ m orgNode.parentNode.removeChild(orgNode);
1 Q! R, K$ W0 T; L9 j9 p! Q }/ y: J+ u) E2 W" Z Z$ Y3 D0 a
}9 _% f" s0 ^: x6 O K: S# A: g+ \
else
0 v" {* g+ i9 K% j9 t2 E {
' v: M) \6 Q2 l( O4 c if(debug)
* i+ _- \6 Q ]0 k' C {
- o. j' u! a& x3 U) n; {5 | alert("compare color and parent bgcolor!");$ \2 j) R/ l/ i2 i
}
: N! n! a0 N. s0 J& ^, P2 f parentBgRGB=getRGB(parentBgColor); I- ?1 g' [5 S' ?" X; }* x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 O' U8 C" Z. P, Z% }1 S
{% I# |$ e& V; i: ]" t' z; J
orgNode.parentNode.removeChild(orgNode);
' p, \6 {" S* |! \6 S }6 _% E7 E" n/ W2 B; x5 W5 z9 d/ ~
}6 k5 X' d4 D- J. r( q& a- V9 }
} T1 f6 W, T i, E+ W" T/ I( w
}
8 w& |8 x( u$ l; f" G }9 R; c" B( ]7 G
}+ s. m- \( S+ E
, Y2 j# S5 m/ D# P% S2 I$ w& z
7 c3 R1 p3 @' ]# p0 z: G var itemFrames = page.getElementsByTagName("frame");% O! A* ^& g0 y3 u& K0 C5 T
var itemiFrames = page.getElementsByTagName("iframe");
8 @( m& N; ~0 _: W8 ^ * H2 R& s# ^/ F% ~/ o3 d
var frame, iframe;9 h+ x/ l3 U& |* s- g3 G. @8 |, i
if (itemFrames.length > 0)# I( v! @% l% a& A0 Y3 s5 G1 ]7 b8 g
{2 S% r1 J. ~& q6 J' N
for (var i = 0 ; i< itemFrames.length ; i++) ; C4 A! c( T: p
{
2 f2 D" H0 d {! `/ ? frame = itemFrames.contentDocument;
+ z+ h* Z) v# \& \ this.RemoveHide(frame,objname);
9 f# x, _# v" F: y }
0 ^9 M9 a) F* ? }' a& f) n" [' x
if (itemiFrames.length > 0)* u% A. o2 w) z0 ^ R" ~# X
{! E6 j2 t4 K+ I3 e" B9 t
for (var i = 0 ; i < itemiFrames.length ; i++)
# z4 c0 P1 X% z6 ]) a& r5 N4 x; A {0 a, r1 L* j: I" Z4 T
iframe = itemiFrames.contentDocument;+ Q. ^5 X% l$ t. @" V" f: {" M
this.RemoveHide(iframe,objname);
2 A/ U. d. @! u) x6 l& a }& S: Z2 T/ A5 t1 p
}. A" _4 j/ t1 a% Y& T
}
( B' R- C, _ P( c. m! W catch(e)
) g, w) ? C+ Q+ @$ }1 s {
( P, M9 v# Q- H \; h if(debug)7 ?; j& c& l) t+ i" U% G
{
9 | {0 [2 a" K0 S0 R% B$ N, K alert(e.message);
, w3 U, P" R$ @& | }- C& X/ p) K; [# W: c
}$ ]; V" @' d4 Q7 v8 v( @0 D8 h
}
" Q5 n8 t K; d8 C" \- P
7 j) N$ t" z" g; g: }}
+ P O1 z) J9 ^. V& G
0 D8 S+ c0 C+ E H. ~function getRGB(colorString)9 R. N4 j& u) B% {% n
{
& k& x+ D+ W) g. j9 X var RGB = new Array;% {8 E9 {( A, F2 I* A# x
var tempSting=colorString.substring(4,colorString.length-1);% P, Q. e k; Z {; |
var tempArray=tempSting.split(",");
* p" k$ ~! J/ R! d9 h/ A* R' O2 P3 K: k7 e' v
RGB[0]=parseInt(tempArray[0]);# F6 u$ s+ O' w; i1 K% j u
RGB[1]=parseInt(tempArray[1]);7 @5 n0 s0 R$ s. E7 J# d
RGB[2]=parseInt(tempArray[2]);
+ e0 s4 u1 i$ t2 G
9 r7 m+ }5 `4 D' B) X return RGB;7 Y# b7 B* v6 k9 y
}
4 X% e# T5 S! c' B8 d; R1 T/ ]function keys(evt)
% @, Q9 Q! I1 ]: J% u { / Y: q+ `/ M& `/ Z
if(evt.ctrlKey && evt.keyCode=="81")
: t& q& y/ C5 L9 S {
+ u/ c) ~ h* x) f CleanHideObj.on(0,1);
# [- d) }& L0 i$ T# ?% M4 n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 J7 Y2 l" C! Z. L! s* ^; G+ ~
; O0 d9 ?5 c4 Z' G; J
}
) z. s1 R# \6 C- Z( M }
1 L5 E f# V9 D/ [- J% Gdocument.addEventListener('keydown', keys, false);
- |- h9 d8 O) G: e/ w/ aGM_registerMenuCommand ('Clean Hide',3 l. A N9 c+ X: |
function(e){
- F' E7 R: X- Z% u9 Z9 L5 l* wCleanHideObj.on(0,1)+ |7 `) B e; j' Z4 F! ]: Y+ _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 |5 Y% t- B3 ?& n. b
});) `" U+ B2 y/ f1 }/ S- @
|
评分
-
查看全部评分
|