|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' Y3 ]. O3 e0 d; ^
3 `0 V/ e4 x v4 l* M) o火狐插件,用猴子' }$ i6 [$ F" ?4 U7 d5 V7 g* Z
# P L6 i. X" V) n% [( [6 y4 x
var debug=false;
2 {6 I: t% o4 V' rvar CleanHideObj=new CleanHideClass();
2 Q7 ?/ w2 d" R) ?+ b: G |5 ?: G: p" S9 f
function CleanHideClass()
# Y( ?' f2 W3 R: m9 `{
2 r8 G# G0 q% q! p 8 Q9 o1 F! B' P, ?8 C+ w) X
this.on=function(id,bMZ)- u9 h1 K0 ]+ e) \+ s
{, [/ U& ?# Q; _' y
! _" h# y. N" R5 E if(id == 0) U2 _, B, `8 d" C/ }+ }2 h
{
+ l5 u' F" u+ Y3 @; \ var page=/* document.getElementById("content").contentDocument */document; & H2 c" h# c6 G7 Q, g
this.RemoveHide(page,"span");
* l: L: N4 D! B+ M6 E" Y: [3 N this.RemoveHide(page,"font");
/ T4 P; \8 l' T0 ]6 O this.RemoveHide(page,"div");
9 }2 E: Y5 y1 ~$ w5 n7 ]9 U this.RemoveHide(page,"p");+ B4 p. a6 s5 W |5 O5 K& ?
9 L% [( e: f o9 n3 {6 ~
}; Z" i- e# U! F9 y' E2 b8 v+ N% U
' [( ]' K7 F3 V U }
* s' f- y7 n* B- [; }" _0 R4 i this.getobjstyle=function(node,prop)
- F9 q, X3 W7 I8 Q2 p {6 V1 s( a0 I* M" }% w
try
) b( |6 q- l$ a; w! F) n. T {2 n2 L* d, L. y. l7 X8 _$ r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- ?! @! z* N* f* O9 P! n
}
: I* K9 F" E5 b* [8 t) c catch(e)
) ]1 J( K% T+ v) n) o0 A9 E {
/ V4 z0 D, U) N6 x$ c. Y3 ` if(debug)
& `7 Q4 s1 E5 z# Y4 F+ G( d) t3 E {
% v7 e# [5 ~. x5 |2 U# K7 t6 |. W alert(e.message);
5 {' l9 Q# G: m" ^% {% F }$ S- N7 N! {3 K8 t
$ v! F! i' c+ W/ \8 j% R
return "200";
0 z$ J& G# m4 `3 C v }
' O3 |( d+ V% {! F( _3 R% d }5 J* C- U' x4 @) A
- [9 I8 E/ w" y) H! F
this.RemoveHide=function(page,objname)9 j. g( |# G% F, J6 M; Y& Y
{, r% O4 X' t" [9 a2 \- h& q* [
try
( G6 q9 z+ j2 E& g7 V* M }/ f {' W' n( V" z' b3 b0 b
var minValue=15;
1 y. L: B$ V( s: m6 m, ] var objs=page.getElementsByTagName(objname); ( h9 Y e3 T+ y* q# z" N5 _* y) F# A h( Q
, F5 x8 ^' F8 n) W, |
if(objs.length == 0)
z$ h6 |' {5 F; O+ W1 i. W5 S {
* ~' [. q4 I5 K5 {/ { if(debug)
- X7 ]$ c1 W' L: z Z. X& s {# g; G; d6 U5 N% [2 c5 F
alert("no object found!:"+objname);
$ a0 }: ]* U" U' B1 M9 { }
/ i8 C6 R* Z) _( I0 _0 C }
- J! J& M: s0 X/ U6 S else. {7 ^8 T! m, Y( ^) h& P
{* P' q5 @& R n
7 f f9 S( |7 S" B+ o4 i) ] for(var i=objs.length-1;i>=0;i--)
, Y# V0 y; Z- O# {$ g/ l% A {
- f D+ u5 U" j# }2 V+ g7 r var node=objs.item(i);
0 i3 f8 ?, a [3 a) h
0 d6 k6 y5 l; p( D3 V 8 z& n, o( G8 C/ o7 b N
if(this.getobjstyle(node,"display") == "none" ||. v3 q# H @0 {9 G' c8 h& w
this.getobjstyle(node,"visibility") =="hidden" ||
! j% ?, `) w: t; S8 g( R7 o ?6 T parseInt(this.getobjstyle(node,"font-size")) == 0)
0 d, V3 ]7 F G" P' A& B9 N& u {
* f# V3 F4 ]+ \/ w7 w if(debug)
* R/ _1 ]& o* O: w5 [1 D {
/ w! a, ^8 g$ c8 i) P alert("remove invisiable!");
+ _0 v" V0 o) C. ?. H" l0 g }2 Q+ d# X' U. ~2 v: V2 U
node.parentNode.removeChild(node);
4 X1 B) V( h9 ]: X( \ + L- j. r& s* X2 o
}
+ A" ]3 [1 L5 k# O else
! p2 E0 r( g* d" G. o {
- n% Z" g( V6 m$ ^6 b1 \. ~ if(node.parentNode) 2 N- o$ U1 _6 a8 D' v
{& W& C9 X! X1 V6 [& a$ h
var orgNode=node;
. s+ n/ S1 C# f" Q* U0 [/ X var orgColor=this.getobjstyle(orgNode,"color")5 Y* {1 m( M8 D0 _. k/ D
var orgRGB=getRGB(orgColor);
. d1 f" _5 O" E7 Q0 M. |
+ A2 B4 Z: \1 V. y var parentNode=node.parentNode9 Y/ B3 R* j' [6 P
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: j9 G! _' h3 r' Z 6 ?, Q6 d# n3 N% T( k) D- g
var isLast=false;
5 X0 z- `+ D( a6 i+ v5 _5 I
_/ k' K5 g* z while(parentBgColor == "transparent")
0 M J. \' `) T {
W9 ^. Q6 N* }& v% F; q0 Y1 r
4 i5 z, j, m& M& K2 U8 s
; A2 B% c1 ]4 Y R9 |4 |8 q+ E if(parentNode.parentNode == null)
& L4 l3 o {) ] {
' k: ~! i, n' \2 O9 W isLast=true;
" Y) m( U5 E' _( A, _1 u5 @: b0 e break;
$ \/ {' ~/ a9 D2 |+ J* M+ _ }9 j9 [3 ?& I! P+ b1 \% }
parentNode=parentNode.parentNode;
6 T- I3 K6 A4 R; N% Q7 g) o; {! ?! v+ [ parentBgColor=this.getobjstyle(parentNode,"background-color");6 c, M' D5 s/ l1 X1 _
* G; i* E0 v: w( e
if(parentBgColor != "transparent") - {# R! W% r! _$ T4 s
{ ~% m7 A* b5 N# a& k% x
break;
" u3 P- P/ f1 T& A; n+ g. S }
& n0 Z a9 C" k. g }
' {# w, r* S+ o* o if(isLast)
8 D6 ]" T/ a. Y4 k6 |& i2 h {: }/ ?& |; z" ]; b, Q
if(debug)
9 V) K$ X y' q4 a6 e2 q3 b; ` {: s% _6 D$ d f' L& e" C$ X7 {; t
alert("last!!");
% N4 O6 c. z) @5 i# ^ }: V+ ~5 U' A, v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: q3 u* q6 L+ W4 D {2 Q! p X& f% D% d
orgNode.parentNode.removeChild(orgNode); / t8 E a. Z: z7 q
}
! |+ ?# _: G+ m. S/ M/ ]8 ` }3 M/ X( S% c2 D. t
else
4 x1 b6 ~, F6 [0 o {* G# R! h3 y7 ^$ J
if(debug)" v: D6 K' V: i+ U; ~) d3 F
{# D, G( I3 Z+ J/ j- \2 G
alert("compare color and parent bgcolor!");
* C% Y% n) P2 M5 i1 ] }
3 I [" p4 B6 p. j; B parentBgRGB=getRGB(parentBgColor);
0 C4 T9 c+ {; P0 L$ g j# B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ M3 D5 B! w( V- O# ?
{
* _* S' D& [( _, W1 ~/ _. ~ orgNode.parentNode.removeChild(orgNode);
, x+ x; @, @# P' A0 g }
/ Y! Y7 `( y% R; b, e' T! c }& v8 W5 E2 L* J: H
}
7 O' O! K p; s }( ?0 M/ ~. g* U* F
}; K, k; M. z7 y) V3 H$ M1 Z) E
}
) c: b( F9 z1 N7 e
% X# H! w" N! s ! ]0 Z( D" d' f1 N- Z
var itemFrames = page.getElementsByTagName("frame");; ]# M! ]% z# |1 u( b$ F
var itemiFrames = page.getElementsByTagName("iframe");9 B5 a$ _- i0 e! J
6 p) E, D6 y7 E2 Y7 ~, K var frame, iframe;
+ U- K8 \6 ]& n. t* g9 F if (itemFrames.length > 0)
; m; A2 x8 P6 W% x {( G0 I/ D/ x* c8 I0 v
for (var i = 0 ; i< itemFrames.length ; i++)
, v G5 L* [+ m2 f4 I6 z {
1 |6 K* a( Z# C frame = itemFrames.contentDocument;
& }8 d4 j/ X% P s; u/ k. L! y this.RemoveHide(frame,objname);
8 [! M- C( b1 T; L }& P \1 l9 ]0 r- o" p# |" \
}
: P; V& M2 Q! n2 k3 L if (itemiFrames.length > 0)% G9 j e# n( k; U. P* C
{
; b1 q2 q5 v, [8 p) [4 } for (var i = 0 ; i < itemiFrames.length ; i++) 1 Q+ p i% a2 z2 v! N
{1 q; B7 k2 r$ W( K }3 N
iframe = itemiFrames.contentDocument;/ H. @/ C! u& o
this.RemoveHide(iframe,objname); , A! L) t# k. w" U* d- X
}+ g" ?0 y" [5 d2 O% F; b
}
; c: q) N* v% c. E4 h8 O' a }
' `5 r. u- U; m catch(e)
( S$ h! K3 f ?9 q! C+ R {& [5 g) J: m5 o9 [' a4 D
if(debug)
4 ~+ f1 ~7 P; g+ t {6 k9 Q# K8 b6 }, D# [# O5 [+ D6 w
alert(e.message);8 V0 |' ^9 R1 B7 Z
}
+ X0 Z5 L) E$ Y! L7 z' z. t- Q/ b6 b }4 D7 m4 s$ ~$ A2 b# O$ T& U
}2 |/ s i S- b& f5 W$ w
- C% s! u) g) T; T+ B1 n0 @
}
+ g+ K& w2 p/ \0 R; P, h) d
5 D+ B. x) f1 r$ lfunction getRGB(colorString)
, r! }2 v6 c0 K" z3 ]{
, u" o2 S( q) t/ B. ]6 } var RGB = new Array;+ P8 W$ Z; |) W0 X
var tempSting=colorString.substring(4,colorString.length-1);" A8 z3 w1 C1 B( l. ]$ O2 C
var tempArray=tempSting.split(",");9 v, ^4 p) n2 [ }
( p) C4 h! ]0 _3 D; ` RGB[0]=parseInt(tempArray[0]);
r/ S' Y z5 x RGB[1]=parseInt(tempArray[1]);* ^; J' Y7 |8 L r% f
RGB[2]=parseInt(tempArray[2]);
; [+ V8 c G n5 {
! @4 f ]& `1 N% R) x. C return RGB;
' k" J& Q6 K- R* L0 v9 f( g}
% Z& z% Z8 i9 A" X1 x/ b% lfunction keys(evt) / E& \# G+ ?3 K& `& }
{ 3 \/ \$ {$ [" p/ z: I6 u- l
if(evt.ctrlKey && evt.keyCode=="81") ' s8 a$ [. P- g o8 d+ l- E* {1 I
{ O2 S9 d; [6 b) X% c+ a+ A! ^
CleanHideObj.on(0,1);
+ ^/ y) R$ I+ Q' n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% u! |/ \/ |$ l3 K- N/ I) K( _
% ^) b2 z9 u% r, O2 X } * x5 b5 X& @6 ~3 S
} 7 y7 y0 i1 ~( A' O
document.addEventListener('keydown', keys, false);
. M1 P- P" G4 D2 I7 P/ @+ YGM_registerMenuCommand ('Clean Hide',
$ G% r0 a$ w2 o% nfunction(e){
& `/ w5 g& @% s! `4 _) n8 u* F' bCleanHideObj.on(0,1)4 |- s+ x/ y: t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 l$ l2 H( e: b* t) F0 ?" n. r
});
( K2 L2 c L* q9 y( w |
评分
-
查看全部评分
|