|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) J; ^! \' }. C. {! R
n1 f$ p! Z8 q" D8 k火狐插件,用猴子
; e0 s: J s2 o5 W" |; M* O: D
j" h" _( w7 m! o' {! r7 nvar debug=false; # Q; m5 J8 j- ?$ g, x4 |
var CleanHideObj=new CleanHideClass();
9 p- |# T3 w* r' l
/ u( a- z- ]! Z+ [ wfunction CleanHideClass()
% l8 z, S8 M0 e: c4 j{ 7 c+ @- A$ R! K& [+ J- C
) l: Y$ ^; H E" @/ c$ [ this.on=function(id,bMZ)
) d. N: R* u1 w; M {
1 M7 D+ K3 S0 L! l6 k. `! J& \ ; K, m" q8 P& V0 W- y& G
if(id == 0)
; [" e% b2 r. C" L' _- e) |+ D {. z& f1 t9 p( r
var page=/* document.getElementById("content").contentDocument */document;
) c9 r% I. }5 j6 Q this.RemoveHide(page,"span");
7 V0 H! |. ~3 z6 F+ q% t. @: ~ this.RemoveHide(page,"font");& X; v% `! o* D- R
this.RemoveHide(page,"div");
# |5 A9 t4 i# f1 a6 @ M" G' d# U/ B, Q this.RemoveHide(page,"p");8 A% H V2 ?% z/ J2 N
2 P2 P. R! R7 F }
' i8 x2 A' t+ {& o2 w/ |
1 O! U4 \. c2 s, K) ^: g/ u }: l; @3 Z' Y' {; ^; w; T
this.getobjstyle=function(node,prop)+ P, _& |5 }) I. {
{# X2 L, ]5 u5 N7 J% p
try
- k2 d1 {4 M" h* y( }) W {7 J( x& g7 _8 d0 \0 d2 X T+ q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( H5 \0 P1 Y8 S
}9 A* U, u7 Q4 Y7 X' S8 i
catch(e)0 Y1 O7 y4 g5 M+ x9 g% g: {6 K! ?
{
h" E6 ^5 O/ ? if(debug)
" b' G% @2 D4 l9 ~0 b {* ~' m$ J2 j4 N2 r8 m
alert(e.message);0 ]! a) | v1 R3 h! j: G8 o' p
}/ z% ]4 P4 G! B3 C; e
. H6 L0 T; ?2 x+ V' j& ]3 _* C w
return "200";
, R% y; M. { E$ F! y }' r) w' {! }. W9 [5 I
}9 O6 V& [' ^& f- }3 d" g
3 K1 ]+ y0 g1 D
this.RemoveHide=function(page,objname)
, |- \( O0 _, X) X0 q4 f' ?4 @ F7 W, ? {
) j+ y9 O1 M1 ^* [/ e/ X4 x! h try# r$ L0 n5 L: P) m+ T2 Q- e; f1 M
{
: } N& C! ^5 O8 o1 K var minValue=15;; h, S k& J% _" n2 e9 w2 I
var objs=page.getElementsByTagName(objname);
$ ]. y) ~6 C0 p+ y/ } b% O6 e. [4 r
if(objs.length == 0)
& j w8 n% Q" U7 A. ?4 A {
) ^: j4 }: B) F2 {* w3 s if(debug). ?. w2 a) m+ w% n% Y5 M+ l
{
( [7 X6 M1 m; F; O& b, \ alert("no object found!:"+objname);9 E' J# k( d" D( @
}
) G0 A- \5 k6 H0 H/ e% x t3 d }1 i* Y+ T8 i; F) N) e- X" S
else
! U8 Y& i! T6 Z+ J2 `/ \ {( k1 F9 u& r9 T2 v4 @
1 | h, E" D% V& S+ q for(var i=objs.length-1;i>=0;i--)
: r/ A7 x, w) }& i' h& X8 o2 K {
# e1 l/ ~0 p1 p t/ S, l var node=objs.item(i); : ?- H9 I5 e! @; N$ @
: F+ _4 T9 c8 m, j3 c) ?3 g- {0 [2 ]
5 [' b' N7 T F+ ?5 \ if(this.getobjstyle(node,"display") == "none" || J) N C2 {" o" [: e
this.getobjstyle(node,"visibility") =="hidden" ||
" G0 y8 `7 M1 X5 m4 n( H+ E parseInt(this.getobjstyle(node,"font-size")) == 0)
1 e- h# B0 |" H8 z) Y5 k0 p( W {- S1 O. N1 a7 Y( k9 }- B& I
if(debug), H% `4 Q+ X# M, @. b
{8 @2 V) ~; ]& t9 E, F2 z% G
alert("remove invisiable!");
% z" C$ g9 @! E9 q* W: P0 W" p }* j8 s* Z$ \- C
node.parentNode.removeChild(node);
& H% x6 |4 m% ?/ F {4 [
) s4 P1 O( t6 I2 m1 ^/ L% x }
$ @' ^' l2 k+ H, I- ~- D$ r else
* M( ^7 V$ T: k& p% T, F {( m+ E! t5 p, ?' w9 V# l+ b B
if(node.parentNode)
3 w: K, ? T$ j* Y- R% b {
3 D1 m- H0 {. v3 c$ ]: b2 W var orgNode=node;; z7 n; L x. k
var orgColor=this.getobjstyle(orgNode,"color")7 ^2 F2 W6 `) b r9 h, ?- n
var orgRGB=getRGB(orgColor); D6 Z6 y1 Y) x/ Q
! ]; x9 R! Z, q: a' C! p
var parentNode=node.parentNode/ ^( b9 j# m- b0 g
var parentBgColor=this.getobjstyle(parentNode,"background-color");' T' r! r* b3 q% a# G
, I. c7 s/ I; o4 T
var isLast=false;6 i% D2 g! O/ O
9 M \* ?/ l2 u; d while(parentBgColor == "transparent")
* K7 a- n5 r5 q/ u( o+ z. I$ t {9 b" z9 _8 N- m [
7 S$ {9 A4 W2 G$ {
) S0 g- d; f; E5 E$ y( N* f/ ]
if(parentNode.parentNode == null)
7 q; J2 L- Y( x- `. e {' B9 ]. {! `, u! ?" y3 @! ^9 ^
isLast=true;* P D4 X# y) l: @' E7 o4 V1 L% x
break;
* e% F2 |7 g5 q5 Q4 Y }
% n6 {8 R: l$ v9 o, B/ {+ R5 K* ~ parentNode=parentNode.parentNode;
. `; ~% B% W: T; P( w parentBgColor=this.getobjstyle(parentNode,"background-color");
# o% ~* Z4 |+ G6 b
9 P/ |" F6 N. U A, p if(parentBgColor != "transparent")
- p8 S9 h" v3 Z; W {
* y$ Z5 k& s3 Z% ~1 N2 L break;+ p* G8 i4 x! D" l
}, k7 ^* b. V+ M% ^
}
6 [! A7 s$ t0 j8 ^ if(isLast)
, h) Z" C) l6 i9 O. B {$ ?4 ^- T1 q6 l
if(debug)
, m+ R/ k8 i& `" s3 M. E: e- _ {6 c" n2 @3 c" D' e" `/ s
alert("last!!");2 S8 e' g+ K4 Y0 b7 y! k d1 g
}
: E9 k7 z* {( ~ h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ G7 G5 `- g4 p( c- J) a& D
{
F( ]9 k4 X% e" ~5 I; I: ? orgNode.parentNode.removeChild(orgNode); ! |. o6 q' C5 J$ H q: u4 W6 e
}6 N6 O$ b: Z5 z X. c4 O
}
& m7 y4 R- X% [ else
- s9 E' v6 P2 r; H5 v {
6 ^4 Z Z) D. p5 l9 O) w: H6 Q* h9 o if(debug) g% f8 G. B$ Z) U5 d
{
$ J" u5 Y: u8 b/ S alert("compare color and parent bgcolor!");
- T* @' X: [" e7 S& S9 X4 J% v }
" N* Q" Q* U2 w7 l7 E, l/ A parentBgRGB=getRGB(parentBgColor);
2 v) m F- e- s/ b3 B2 { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ e, `7 Y! _" r: e {; j3 Q0 ^4 U5 D/ a$ w7 ]' b
orgNode.parentNode.removeChild(orgNode); 3 u: L0 E) Q, b$ L
}
* q: B: N, L7 `9 P2 E: R; G9 ^7 K }# e' r8 S# f3 o& X
}" c- P5 s9 M( C$ W+ L, H+ c
}/ a9 e. q0 f+ V# |4 N( p3 i
}1 K7 a9 P" S' j; p8 d- {5 k q
}( F$ m( B |6 S
, _+ z+ s+ X7 N5 i. P3 O
r0 M6 j9 d1 f- |/ P. N var itemFrames = page.getElementsByTagName("frame");
* \1 L# K5 N8 _) o var itemiFrames = page.getElementsByTagName("iframe");
- _3 v# j+ _; K! V, ^2 t( P' \
( M2 {- u$ u$ r6 \; C- ^6 X _; s: B var frame, iframe;
+ k$ E# `( e t! q: U! f; G if (itemFrames.length > 0)3 j* h8 S `# _4 T) X; u# G
{
0 [. X4 V d% W8 [4 x for (var i = 0 ; i< itemFrames.length ; i++) z2 H6 c# G" s% \( Y# o
{6 f/ [% C$ W$ _! ^6 u! P
frame = itemFrames.contentDocument; O, L" I) v, @: a+ \3 Y
this.RemoveHide(frame,objname); % P0 D( T; [3 l# j
}
7 X% E2 E4 i# P9 U H6 A }
% k. T+ h. K4 @4 d" e if (itemiFrames.length > 0)
: }, N; W6 `! w8 [ {
s& `2 C7 K) s7 P; g8 E for (var i = 0 ; i < itemiFrames.length ; i++) 1 O* B8 i9 J- `9 X( e
{
6 O" X v4 C! ~5 L: [ iframe = itemiFrames.contentDocument;
. A5 Q1 ^1 S7 c! }& b9 J this.RemoveHide(iframe,objname);
' E0 l. v x/ D+ S H/ Z6 W }) S+ H8 D$ ~! M
}
% |$ g( V- z) R9 t2 o }$ l. e, ^ X! m
catch(e)- Q! t/ W# {. f$ v( c3 D
{
3 L; o* }5 ?6 N- E8 \# h if(debug)
7 S7 b$ B( P+ N6 J { s/ E" t( Z& o. G& J( J9 D* c! V
alert(e.message);. e G0 W9 g* L4 I6 [0 s
}* |% Y6 Z" R2 L; c9 {% x- T
}
6 {" h5 n0 @( L' u/ q }! u5 p1 m V) n) n( ^
' E5 f" v3 Q+ }3 ?+ U9 m, W( o}# b7 j! Z* |' e
2 v8 F' X$ @5 m2 {8 r# Q& ]function getRGB(colorString)
! m9 _& }3 t) d- a$ N$ G{
( e* z+ q4 c/ q8 A: L( b O7 T9 ~2 s var RGB = new Array; C- R( F! K: l( H7 H) Q
var tempSting=colorString.substring(4,colorString.length-1);8 G/ y! O# p$ Z" @
var tempArray=tempSting.split(",");5 c$ l q4 j# O+ c$ n
/ c' G/ B, J# d A1 H RGB[0]=parseInt(tempArray[0]);+ I$ Z" r) f# G& M3 e
RGB[1]=parseInt(tempArray[1]);
Z: J8 w- z! b/ c RGB[2]=parseInt(tempArray[2]); x6 Z% F% G; J' g0 F" O. r. O
1 a9 C( C3 h6 B5 j5 s5 o# X1 o: [" d
return RGB;
+ K: E6 k, f, l5 I}) `2 n6 q& \" n Q, p+ K% n. A0 k
function keys(evt) , O" E9 m2 d5 \. ?- o1 M- Y
{ # L5 R) m! M' R' l9 w7 o
if(evt.ctrlKey && evt.keyCode=="81") % M0 i& P: ]; k8 s
{ 1 J+ a6 X* J, @' G+ _
CleanHideObj.on(0,1);8 C* M% R9 Y" x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; x! J7 v9 ^ X2 Q% p/ V3 X% ~
7 f% {7 K _" g/ |* k# N) C } % a/ z* @, o1 q# U' a1 v
} 7 Y+ s' o( f$ ]+ `: T3 M
document.addEventListener('keydown', keys, false);
) X3 n/ g' A# X2 D* NGM_registerMenuCommand ('Clean Hide',4 g! G6 C* D" i& m& z0 \; P$ X
function(e){3 Q# h- X; ]# C0 I* u$ v- t
CleanHideObj.on(0,1)
5 M1 ~% s" O/ q0 S8 x' Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% h) C' @/ n' x! d4 n: a8 f0 H
});
4 P) ?* v( b$ j0 K' I/ w |
评分
-
查看全部评分
|