|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ M' s! U9 r3 ^8 D# B
% g) A5 H0 Q. i8 x火狐插件,用猴子
- g/ _8 l, v+ ^% Z. H
3 A, t* _: ~. Ivar debug=false; 4 H5 ^$ t# g9 @% }* ~: Q
var CleanHideObj=new CleanHideClass();! m2 d/ ^/ m1 _% `* t7 |
1 ~3 t2 o9 G8 |) P) xfunction CleanHideClass()
! M( y* g ~- f2 |: ?{
! @$ r: {/ ^/ }4 L' V% z# V 8 S% F- T7 f2 @ h0 j4 {) E
this.on=function(id,bMZ)$ q& G( L2 {4 ?0 |; U) V( j! P
{* W! i" W0 Q! |/ a& ^
7 g7 ^( \& A/ ^ if(id == 0)
3 Y! k2 d! Y8 |" n8 `, B. p) E4 n1 x {) j% y% V c0 l, X# g J
var page=/* document.getElementById("content").contentDocument */document;
2 F4 P% l) w& M2 _5 c( c! H' B/ |& m# N this.RemoveHide(page,"span");
0 x( G; U0 s$ s6 L0 L% `& u* c( r s1 J this.RemoveHide(page,"font");
8 C+ R2 X& X: U2 w$ o/ y this.RemoveHide(page,"div");/ Y r8 |- N* P* N5 j
this.RemoveHide(page,"p");! D2 ]2 L5 ?, J, s
0 Q q0 o. B9 S& e4 X }
+ r0 l' B, U: f& s/ e9 U. K
/ ]! |0 G( t9 ?( ~ }, V# D+ J5 o% g! t5 {6 H; e
this.getobjstyle=function(node,prop)
6 n/ m) T9 `, g+ { {0 J! `# `. R9 V2 X* z
try2 K! n1 P4 `; k5 x" Q
{6 o/ D$ t' b6 D$ n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
}- J8 t+ {3 ~0 _4 R: I }
8 M' t7 e4 p3 @ catch(e)- i+ h* D' L* A& P
{
5 P$ T- y; t0 e- \ if(debug)0 h) F' R4 T9 R2 Z2 L
{
: ^" H; k1 t+ e$ R0 N, r alert(e.message);& q" y. T1 W2 N h
}
; y$ g* r& ?' V! H. Z
y7 @5 v; q9 q& D* Q return "200";2 N! Q; B9 s, b. S8 ^& R
}
( O9 u6 f+ O4 D+ r+ @ }. A& n; s! v; E# A* s
! S% O4 D- j( D1 J this.RemoveHide=function(page,objname)
* X |4 U" C. m7 l P2 l {
, m7 e) w2 j" m9 q1 X try
% a5 P, a) s* k) j0 x {. Z; s: X( q" S/ c
var minValue=15;8 g( u" e- F) v8 X1 b" I3 N9 t; i
var objs=page.getElementsByTagName(objname);
$ s$ |6 F' N% U" f- c5 |7 Z P: x3 f
if(objs.length == 0)
+ q2 u6 d* ~) K2 b {
2 P4 I0 N) G: K: R5 G3 v) o if(debug)! I! U! }- s: y+ \6 c5 y5 [6 g) h
{
9 ~; K' X) v2 c- w alert("no object found!:"+objname);
1 m/ O9 |) K! ^' E$ P: B }4 I9 K7 j2 d$ U' p2 k2 q5 M
}4 B8 a( }) u& f( J/ ?1 Z! A
else5 _6 D1 `, v& Y( x
{( `( m" ?% x( J& C" q/ v
6 q4 f, f# Z+ c, k2 P
for(var i=objs.length-1;i>=0;i--) * c* [+ t1 b4 W5 W7 s
{: R* f4 d! L# t$ v' }: ]* p
var node=objs.item(i); 3 e% Z7 C% c4 [" g B
0 V# v; H2 t) @: i: @5 l% ^
( c2 L6 K0 X) g: k
if(this.getobjstyle(node,"display") == "none" ||% E/ w& e2 o( u8 t
this.getobjstyle(node,"visibility") =="hidden" ||
4 c2 H) X0 B1 \1 G& H parseInt(this.getobjstyle(node,"font-size")) == 0)
' J" K! ~0 |& i% ~ {
+ \6 f4 ~" E, \: f if(debug)* P' r3 a. }- L+ z( D# ^* q5 R
{
- {7 o' X0 v' l* ] alert("remove invisiable!");
/ M( R% |# q; F: j- J% I }8 ]1 M4 p' i3 C4 C$ r3 K: o% L
node.parentNode.removeChild(node);) _5 n) @- @. _
* y! a- o0 V0 a; a% ?+ D& O: J }
/ l& O% R y- z1 F else
: q" {' @ C$ T' S) m7 ]! w {
/ f2 k- b2 {# q, T if(node.parentNode)
9 O4 F1 ^% A$ n8 e, h. L" {2 ` N {
7 E) q5 [# `# `2 F2 N var orgNode=node;
+ o: f$ |1 k H" P( w) P' U var orgColor=this.getobjstyle(orgNode,"color")
) t* g* S/ m0 @8 d4 i7 f5 V var orgRGB=getRGB(orgColor); ; v; m7 N" W; H5 f/ g1 Z
1 {: R/ ?/ d# a" y
var parentNode=node.parentNode
: Q# _, T6 T( p: ? var parentBgColor=this.getobjstyle(parentNode,"background-color");
- x" }7 J$ u {3 o2 w/ Z5 F* p/ Y
6 w% @& j! l3 \6 ]0 O var isLast=false;) q8 u( _' P, Q6 K5 p6 |
1 b/ ~* t# ^5 n) ~
while(parentBgColor == "transparent")
: d- }; t/ z8 L* l7 F& h: x {: c* h& K" E& x! ^0 e. t) k% C9 V
( @3 @" e) k( \& A, _5 O
+ I+ p2 Y+ Z9 p& f/ ?" _4 l
if(parentNode.parentNode == null)- w( A4 A. s0 p: P1 x k
{! N4 z, g# W+ L) W
isLast=true;5 `; |0 D% E9 E' @
break;
* p. p$ |% ?+ m2 H; Y }6 ?7 z$ {4 T0 `' x; @% Z" Q/ _
parentNode=parentNode.parentNode;( @( {& N6 F8 K- E0 g
parentBgColor=this.getobjstyle(parentNode,"background-color");
( ? c- o( o- g! ~2 ~" U6 |6 z+ _. K+ V, \1 F
if(parentBgColor != "transparent") ) B' d m9 [* q. X% m0 O& `
{: t7 i( }/ ?# I" s* h* `3 ]4 c8 f5 @
break;5 a1 i4 T$ B1 a+ j- v0 @# P
}; F' x5 L: M1 p2 H+ v
}5 c0 n& m7 J" f7 G8 m. O
if(isLast) 4 B; b# C! F' ~. x1 t% `1 H6 W. Q( m
{
2 m4 e; v+ j- M8 p if(debug)" p) `" P0 R$ z
{
* [8 d, W3 L, b+ |2 t alert("last!!");; G( k) w5 y l
}
% v' Z5 O# a6 m; }/ V: [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 \! G2 B _) D$ f3 [3 R
{- s8 e# w! i- z# Z' c' Y- ~# ~5 w
orgNode.parentNode.removeChild(orgNode); 1 T A3 {5 d8 \
}- t, f- A7 ~! Q6 {" e
}
A h, ] e' L6 @9 j# G) } else
0 r/ |3 Z) {5 T { I6 S! P2 a2 F/ ~
if(debug)8 `% D& A: I+ N; ~
{
6 V+ g: ?- v7 c2 P7 A( v' b2 K alert("compare color and parent bgcolor!");+ O7 M2 c, D# b/ N
}4 D! B7 e: F$ n* d# P; X
parentBgRGB=getRGB(parentBgColor);- N* M. m" r' }9 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) J) P+ n( X, A8 f* n {7 m7 B0 _& j: V. p
orgNode.parentNode.removeChild(orgNode); : F7 `# x. @( D5 }& ]7 ^
}
5 m7 {: @# r2 } e }; U l& Z; E I- h5 z- C
}6 s' ^) d, N% a: |; v& R; s
}$ W+ l2 p3 } V5 S) G
}
# b" S# e- R- N0 \# d$ u }
6 u) [+ `6 E) o/ [* |+ w 4 S+ W. `2 [& d9 L; ]5 b
) l4 _4 ?4 z3 ^+ u5 z- o: F var itemFrames = page.getElementsByTagName("frame");7 w/ V' a, q, [ [, x% y
var itemiFrames = page.getElementsByTagName("iframe");
. I# [5 I6 p8 _, n/ D " B/ a9 f( X5 K' O/ r
var frame, iframe;
; a. q6 W5 [" X% _! E; K; A if (itemFrames.length > 0)
$ w( x! d! l. k5 D {, F' |3 p" e8 l
for (var i = 0 ; i< itemFrames.length ; i++) 6 W# a# {/ H' P% P8 u
{. @: K) \/ m7 O# D3 l) Z
frame = itemFrames.contentDocument;* a+ Q5 ^3 j7 p) P9 P8 W9 N) p) {, q
this.RemoveHide(frame,objname); 4 U, h$ P" F5 W& ?, I
}
/ k3 Y# F8 l- ]6 u O4 E }" f2 g2 w: z9 y! q0 y5 P# E! W
if (itemiFrames.length > 0)
! ^* @6 u# n. K; @2 [ {
" y! h: B; U. S2 k/ v4 q( q for (var i = 0 ; i < itemiFrames.length ; i++) ! o1 q! c& {+ `# ^; S- g1 S
{# t4 S7 i& T6 L+ ], S
iframe = itemiFrames.contentDocument;+ _) I, z* n* e
this.RemoveHide(iframe,objname);
& J8 n4 C2 `' ?3 |; ~ }1 D2 m+ G$ x) M
}* v0 B: @3 k3 g
}1 V$ A X1 i- Q% V
catch(e)
8 @* b, a# k b9 U+ N, a& U9 F {; Z" t+ o5 j4 }9 J
if(debug)
7 d X* p1 y* d8 x {, j; P$ L1 c) N) W6 e5 |
alert(e.message);
& r/ X i5 D5 ], X3 m* ?$ H }8 T$ T! g) U' \8 \7 E( [: b
}
0 q; @! q* s; }) s% n1 i }; ~# Q J0 _8 W5 x3 i e6 o/ b
& H1 u: U2 r& ?6 {* @
}6 G! z+ |+ [4 s( d
, @ C; B. K* ?; _0 Efunction getRGB(colorString)
5 Q1 S( y$ h. q+ t4 Z% D{2 G9 ]9 \$ N9 t; ?. x$ ^
var RGB = new Array;" ?. X. B" k& s7 \# q
var tempSting=colorString.substring(4,colorString.length-1);' y& c" f' V$ l
var tempArray=tempSting.split(",");
/ \1 c" a$ x; C# F" v
1 b* {' z: T, i m: K+ }+ [( Q RGB[0]=parseInt(tempArray[0]);
! n2 L; l% u3 g2 L1 x RGB[1]=parseInt(tempArray[1]);& J5 ?" n8 e m- y. ^8 u' c
RGB[2]=parseInt(tempArray[2]);0 e. ~8 e6 F, j
8 b* L/ V- d0 F6 o return RGB;
0 f6 d5 g3 _2 m2 C}- w3 V# d) D- x: B& Y1 R2 I \
function keys(evt)
$ Y( e$ f, Z" I% u) ` { ' R" i6 U* ^* j0 m0 ~- Z2 R
if(evt.ctrlKey && evt.keyCode=="81") 3 i& O6 B- a' h- f' P
{
2 k7 y. k W5 B( f' C( g CleanHideObj.on(0,1);, D7 ?3 k2 Q( W* r, T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ Q6 N" E; V* }5 Y+ a; G 7 Z$ i9 N6 u( b+ M1 {
} , A1 O0 R5 z% W7 s9 h1 C+ X
} 4 D1 J; k" l, x) t
document.addEventListener('keydown', keys, false);
9 K) e. \/ O5 q, c8 bGM_registerMenuCommand ('Clean Hide',% S Z" T9 j. x. S8 q
function(e){
/ b* c1 o6 k9 {# K' Z/ C3 @CleanHideObj.on(0,1)
& O/ ^% ?5 y, v' Q0 X8 ?) halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ K/ y& M9 c! v) |2 M6 X});
0 |& N/ q% k6 @& w6 G8 X# m b' L' u |
评分
-
查看全部评分
|