|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 _( A2 O/ w: w# ~3 N7 c5 _' q% h0 L3 W1 {4 D. n* R
火狐插件,用猴子
% [- f/ D% a: O0 V4 p
* E3 ~+ M% M" D1 l. P' c {var debug=false;
# }8 v& V9 d; i& v& i1 Qvar CleanHideObj=new CleanHideClass();
, H% ]; E' B l' r5 m; E, u2 y) a0 r% h! H/ c! _! i& F! p
function CleanHideClass()
: x( i5 |4 U; \* t$ r% ^{ 7 s) S$ x Z$ i# m) U; q
9 P! R) Y q9 Y; y! d6 n' ^8 n2 Y this.on=function(id,bMZ)
# h5 ` P% c2 E. ]( y3 H {
+ \, q# o; L) O: Z0 G
4 p- x' ^) `7 B. ?/ j9 d if(id == 0)% l: { A) i, V- Z/ t& _
{3 r+ N1 g0 d, x- W
var page=/* document.getElementById("content").contentDocument */document; . T7 O# W% x) G
this.RemoveHide(page,"span");8 |3 ~# B4 y: X9 A0 I
this.RemoveHide(page,"font");( z0 T2 [8 s/ R' k! b' Q
this.RemoveHide(page,"div");
, u6 S! l+ ]: t) k+ Q this.RemoveHide(page,"p");
" M, e; D! `$ h5 _: ]- g. v2 Z
) Q! K# J& _7 m" B }! n8 Z/ I! {, a/ _3 V' u8 }
1 r" D6 T2 Y& {- X: f$ U7 M
}
) Q! b! i: q9 ^5 c* M5 C this.getobjstyle=function(node,prop)
! S6 U6 M4 I) u* G7 `4 s {
) c2 [3 J7 ?; F" \4 o# @ try
+ X* k$ q( T0 k2 S: T2 x {
0 p6 U( b. D2 ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- g# T9 N- {0 F4 M) | }
, l# Z* V( Z2 {) g catch(e)
/ S" J% P/ j- R6 x* J+ L {
0 N2 J( ?( x8 z/ s9 n0 `0 X if(debug)
- `/ B5 c) j G. s: P {% M" Z# z( L& O
alert(e.message);
/ N8 O/ x* y! l+ z; m }
o# ~/ g/ d: B; M( z C, O9 ^- m - `* @) n2 i) y* m
return "200";
" Y1 k. c, X9 }0 G }
; g6 s8 z4 n' g* m( v5 ]" A3 ~' J% I }
2 h8 D3 ~2 O" `, f- J3 o X* Z % Z" _! c2 H( K0 c3 f4 `. }% `/ Z
this.RemoveHide=function(page,objname)
3 ?* ]3 [" X2 n. {7 N {! W! I ]5 @9 a, U3 X, t! b
try
' W F- R7 s/ q, B {
$ O5 J% ?5 b w k* ^# e var minValue=15;3 h- p4 @: Y6 T6 b$ J3 w' Q
var objs=page.getElementsByTagName(objname);
. S6 e" t2 {6 I# n b+ O& j
; j% n$ G" Y9 T9 @/ V$ H if(objs.length == 0) 8 I! f' H9 ]) T' Z
{; I; V: A+ [6 V; `
if(debug)
2 H5 b* V( I( m! y1 x0 ? {
0 z- O U; Z6 i9 q& _ alert("no object found!:"+objname);
& ^1 M, g& I( g }
) O; ?# g: O: L/ W }9 I* E1 p9 g Q+ r" N) o* ?
else
5 ?1 h) o u' z! w1 L0 o( X0 ~ {
) W- |' u1 s/ v g- G ' `; f% ^$ R7 m& s8 u; @; j) A
for(var i=objs.length-1;i>=0;i--)
\6 V% T/ D; o2 N; F8 T6 D {
2 M: k* d( `$ }, B9 p% L var node=objs.item(i); 9 {, g( Z5 i4 J6 w1 J1 e. @# J
_% M5 ^* ^( X1 f4 S# S - R3 X+ I8 J; y% `* c! S
if(this.getobjstyle(node,"display") == "none" ||7 F; }4 E# F5 z$ O9 e& ]
this.getobjstyle(node,"visibility") =="hidden" ||
# O r8 y3 @- L; p/ J6 ?5 A$ F parseInt(this.getobjstyle(node,"font-size")) == 0)
/ p+ S' m% X' X G. F {! h5 B. R3 v! Q! o
if(debug)1 ?2 H/ H9 |- @& T0 P6 d# C$ U/ |
{
3 ]6 A( I$ v' v. x# y# A. m/ i alert("remove invisiable!");
8 G! g# d5 |4 V6 x$ W }
- X' C% U% G+ l1 X node.parentNode.removeChild(node);
4 C* s1 u4 D, ]2 r: G . C; W# R6 L t7 P* b
}
! N/ }: j, v9 O else
3 F6 ^5 R5 }- d. U/ o) R. V {$ M3 i1 x0 l# ? c' Z
if(node.parentNode)
4 h) g, z* ^( r. p3 T# @ {2 c6 n7 z9 k+ X" K
var orgNode=node;; T( Z+ N5 D. K! ^
var orgColor=this.getobjstyle(orgNode,"color")
5 t2 Z3 M2 k0 C# w6 l& C var orgRGB=getRGB(orgColor);
% `7 e* _6 \& N: _0 p1 B
" ~$ A# F+ O- ~. [" S5 y! e var parentNode=node.parentNode1 A1 L7 A: L7 }! C) M1 M2 J& ~* K. E
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) ]' j% C& P0 d6 X& N; y8 K3 T6 |
6 X. R# `; l( z" C; D I9 {/ i6 _ var isLast=false;% F/ \! |- v% q: U. o0 O1 v
1 u$ O2 g5 v$ r5 l while(parentBgColor == "transparent") . a1 {5 z6 A1 u, }+ R
{# ^3 Q5 F3 v0 D( ~) J
3 p* F6 u7 t: p& ?
4 m" I5 E& ]; G3 q9 S s; i if(parentNode.parentNode == null)' A [3 i _) d% [, y: g- ^
{# k' x! J2 r% Y; `1 Z4 k5 h6 O
isLast=true;
! {- W- I; w( O2 P( p" ?& v! M break;
' X# F+ S K" k/ V" m( m! F! V' Q }) _9 o, R0 f! r3 ^: ^) s* l
parentNode=parentNode.parentNode;
% i- Y/ |& f0 a/ z- Z% B7 o# S0 W' T- ^ parentBgColor=this.getobjstyle(parentNode,"background-color");' O: ~* c2 G3 f) P
' ~8 v' R4 i- J2 _" v
if(parentBgColor != "transparent")
8 ^: z/ S+ H- c3 s4 I$ X" z. s: V {+ o/ P$ `# {0 E: x; g" Q3 g' Y
break;
* F, e/ ~) q2 u2 l$ M) L }
- J/ A8 h" a; {' y) ~" i5 [0 |6 h }
3 r; k$ u0 Q' _4 r9 [- A if(isLast)
* t- Y7 C0 Y2 k5 ]$ l% n1 q: n; ^ {
' X' B" H% a1 S0 N5 V( {, Y if(debug)" Z8 Y( r9 r8 }$ M* `
{
, N3 E% h, H- X( Z* B2 H alert("last!!"); t! v: n9 _2 K+ f% M! ?+ J
}
* W) s H C) y" j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): c0 ~2 f/ N' x4 D3 s/ M
{/ U; f* B+ W2 X C
orgNode.parentNode.removeChild(orgNode);
2 Z. s; k. G, `4 F& [% O }
, y9 z% |9 z" R8 i& u7 E4 r }' X( u* e& u/ F' H6 i/ T
else
6 Q9 u. K4 @$ J, b( G {
6 w. u) M6 c3 \" }& x if(debug)
3 z$ ~* v# f0 e r0 P" t {5 P+ W! Q# Q' D( e' m
alert("compare color and parent bgcolor!");! ?4 M- |9 n7 U* y8 n
}) |6 @( G+ [3 G. c+ X: R% w8 y
parentBgRGB=getRGB(parentBgColor);" P2 V" a" u. ?: q+ G$ P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 F) e' ]6 ~0 f0 D7 _8 }5 P {. z. [* u+ n4 R8 d
orgNode.parentNode.removeChild(orgNode);
' h/ O( v8 E- }- F }
+ r$ V# K2 x( v j# x7 B& i1 K }
9 T+ p: L; f$ Q3 f H3 P }* K- A, T) S5 @/ }9 j6 J
}
9 k! z3 G1 G: L" W% q! F }
# [6 s2 Q, \: F! B7 ] }5 y6 l+ \0 H1 c1 O( ?& k1 f3 c
# I8 W4 z. Y) S+ Z4 D ! {( m1 r- B: b. t" {7 r
var itemFrames = page.getElementsByTagName("frame"); i) e1 ]/ u. a3 }0 w3 z& U, E& F e, x- C
var itemiFrames = page.getElementsByTagName("iframe");5 V! D- b: J2 B% r9 J I
4 n$ {; T2 t9 w; L. C8 w+ A, w
var frame, iframe;
* Y5 a x1 j$ Q- W: W1 K if (itemFrames.length > 0)
( z6 [5 q9 H- e) E5 b+ m) O- n {* ~" u/ F9 |+ g5 _
for (var i = 0 ; i< itemFrames.length ; i++)
! ^" x, M y" r9 J( l" ]! U/ f4 q {. I. e0 g" E; t7 k8 g5 k0 G
frame = itemFrames.contentDocument;3 a/ ]# @2 ~1 V
this.RemoveHide(frame,objname);
/ C8 v; E- \6 ]' J+ s" u7 ?( o N }
- f0 p# z/ [0 E, y+ g6 ]* e3 A. K8 d }4 |& `0 Z ?8 e. T- ]- R |
if (itemiFrames.length > 0); p \+ S4 W2 |" O7 E" A! r
{
; x8 {4 L) M8 k: u, U+ }2 i for (var i = 0 ; i < itemiFrames.length ; i++) 3 g H2 _' f2 j% r: e
{- l6 q8 d& E8 D. U1 w9 S
iframe = itemiFrames.contentDocument;; l; T% I/ }* c8 L8 h/ l4 L; Y
this.RemoveHide(iframe,objname); V2 ~' W, S* o! P' N7 Q
}& c7 `( }: l' \" V
}' d* U: V$ T; [ n3 z5 p* m% t1 j& c" H
}; t1 T' h* s! N( e- R4 m, O
catch(e)9 v8 G/ @: `: D9 F; f8 O+ d
{
; M. U! v/ I; q" Z+ j0 Z if(debug)
/ U) Q7 k1 m6 j- D L6 ~! A {
1 q L. `* q+ u alert(e.message);
; y* Z6 ~7 m3 H* L+ j }0 h5 \+ E5 ]* `. B) S% n9 j0 m
}' j9 _( r( p" a; i2 k# a" `. {
}
( [5 M+ I! B) j* n; d, A$ {& I/ j
/ C" H6 @1 R; @8 v}: @9 C7 j' U7 B
% V! l2 B+ O _function getRGB(colorString)' L& r; r! r7 W4 i. j4 v6 L Z
{
! m* j5 G* ]5 w: R var RGB = new Array;) s w$ @, }# ~0 W q! X
var tempSting=colorString.substring(4,colorString.length-1);0 L) J+ O0 m4 l! `; P0 ]4 v
var tempArray=tempSting.split(",");
4 z& L7 U( {' H
4 \6 A. K2 @. Y0 v( c RGB[0]=parseInt(tempArray[0]);: ^/ Q# M- r) [/ [: T; s! B
RGB[1]=parseInt(tempArray[1]);
5 f6 b* x) M1 J9 T& H% u RGB[2]=parseInt(tempArray[2]);% n {, b8 F& s) n0 o' b
/ `. M6 y" \ o7 p( G% [9 c+ ~7 ? return RGB;
6 d. ]! W9 q! M- U0 |}8 }" |4 H F A% u' g" [. r
function keys(evt) : s$ ~. o1 Y$ y+ s0 _; M
{
! h- _; _2 U4 O: e( q& j7 A7 N( }; ^ if(evt.ctrlKey && evt.keyCode=="81")
' r" c4 j( }$ c* c* C! J {
" r6 U J/ [' l% q. N8 O( \& Z CleanHideObj.on(0,1);- Q8 g& w' {" R, N, G! L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; ?9 a" ~+ V( K; |! \% B$ i & T0 k5 @' g3 k% v" n) ^% @, H( X
}
& |0 l7 J' ~% }" X }
' n, N3 F' q9 y; D* V9 f7 idocument.addEventListener('keydown', keys, false);
4 B8 S! g: V/ m, P OGM_registerMenuCommand ('Clean Hide',
( @" q) S9 M8 ?: _+ j4 z, h6 ufunction(e){7 W( I a; B" V7 Z, z
CleanHideObj.on(0,1)
5 ]4 u3 S% b& T+ E4 salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, i! O0 q7 z9 y' g' x) W' N) o& h});
# [ m2 h& g5 _+ _* R |
评分
-
查看全部评分
|