|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ _( a8 q. C! m, p& T
" i1 \7 p, V: e火狐插件,用猴子
' P4 a$ X) d3 s6 e: B9 { x B- y3 x
var debug=false; 8 d& w! d5 c e$ C
var CleanHideObj=new CleanHideClass();- }" J. z) M& ?$ l& n9 O
! F t* W/ t2 f; E/ n: W( `+ t9 Bfunction CleanHideClass() $ H1 |" y( A% e
{ 6 h) H- z% D6 q* \
) K7 F+ a, D( q/ `+ ?6 h$ z this.on=function(id,bMZ)
: R5 Y% m! C" m {
8 R8 Q# Y0 {: I$ ]5 v. A 1 v( R" [) C2 }
if(id == 0)
# t6 {! \* z1 D( i4 \$ }! ^ {$ r0 i H+ t0 h( N0 o
var page=/* document.getElementById("content").contentDocument */document;
" C( m( X5 ^1 _6 x) i& f this.RemoveHide(page,"span");( w: C% V' i4 W; ~
this.RemoveHide(page,"font");
" x9 y* Z" l K* P% R this.RemoveHide(page,"div");
0 d( w& G# J& ^; s0 X d. Y+ g8 Z this.RemoveHide(page,"p");5 z0 D9 }7 ] l6 J
% e7 e8 ~' x" r/ m, d }
: i! V4 t% G( V4 U( h4 W( f( r
" L5 Y L3 j% ^" b7 h4 U3 K3 `1 w }, T# D. {! U5 a
this.getobjstyle=function(node,prop)
& B9 |4 {3 v* S4 f {, }$ Q7 q, |( q
try
- E/ R( C7 U+ |9 H& s. i {
8 ]7 M2 w c! x* c0 u8 m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 ]5 ^: M: n3 N4 i# V" B) J
}1 W5 W$ S( P2 H" F2 W
catch(e)
/ J/ C2 [7 H4 A& U" B; x1 {6 _ {
( T/ H3 }5 P4 X0 F$ m: Q if(debug). o2 z) n% T: C1 J8 B' {
{
% E& v! z7 b* T0 l alert(e.message);
% q: e6 C; H& _6 q7 s( @ }
" t( m; J7 Y4 d' [- n! R
6 j4 S. [6 q2 J$ @ return "200";" w1 f) R( Q3 E) y. Y6 R: ^
}
- E7 f5 c! I2 v% l }7 N, C; m! K0 u, E
( [, Y; @" r9 n4 F3 F this.RemoveHide=function(page,objname)
+ Y) W& `$ k' G. i5 c* e& } {. U4 M6 s$ q1 _" R. Y0 |
try
5 u" R* d4 A: s8 z7 r$ X+ L9 G& X {
4 A, }& a2 d8 O& i7 O" M0 [ var minValue=15;( o5 S5 \( [" e4 `: z
var objs=page.getElementsByTagName(objname); & M( P0 n7 e4 X/ g. }
/ d( _6 G/ i9 K if(objs.length == 0) 5 K9 j# ?- s3 g( @+ F( X
{. E, c7 u7 T* P A* w0 n/ C* {
if(debug)
5 w7 Z; a9 O8 u, x7 g. t {5 _" O; x$ c5 K/ I ?
alert("no object found!:"+objname);: C! B$ Y8 U$ U3 U
}- l: x# @4 y8 S# R; B3 @
}+ S, ]- F$ t$ _
else
, Y6 Q. @. E/ y. r- A; P {
1 m/ S# ?' a4 i4 x( V2 ]5 O
) }6 `' {! q# x8 K% u for(var i=objs.length-1;i>=0;i--) ( }8 _7 I6 C) |3 Z4 }0 z; T N5 T
{
5 R. @& b# j+ |4 s' I: P var node=objs.item(i); - q! O$ E5 z, O
4 m+ I0 ?% Y8 @9 W+ E # h) a' C, _" C3 o9 F K
if(this.getobjstyle(node,"display") == "none" || E" f& p" l4 W7 Y2 I R/ z
this.getobjstyle(node,"visibility") =="hidden" ||3 W. R" R9 \( X+ Z
parseInt(this.getobjstyle(node,"font-size")) == 0) " Y! S" [0 J4 v% l4 [1 m: I# {4 ]
{. q/ A& @3 [) O( T4 g1 [
if(debug)
4 }5 p+ W$ p) W. x1 H {* ]) c; d/ E, }9 P) Q' S- `
alert("remove invisiable!");" w% l% | r, W, w; { v9 y4 y
}3 ]* S6 S- e$ {) m. s2 ^
node.parentNode.removeChild(node);% K8 p& i0 V; L
! K. @' O `3 V2 k; m( D/ h$ V }
{! a! p. m( x; L else * Y3 H4 e/ z) A( k7 p: V
{
* t7 I2 B( [# e9 Z8 o/ j) x if(node.parentNode) + O" Y; V- S( Y q+ x$ s& o
{" U7 I8 e- v, b5 h( R- F6 v% X. c
var orgNode=node;
' U6 ]; ?7 r$ W: G- f/ T var orgColor=this.getobjstyle(orgNode,"color")+ d' e; i2 J8 ]2 ^+ @# x
var orgRGB=getRGB(orgColor);
' y, f! n& w v6 a I5 s # ~2 U) _+ K) p2 P4 d$ U5 X/ j
var parentNode=node.parentNode. f# i. o5 g7 Y; N+ X
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: w- P4 e. a) r' o9 o * b% C/ u! P. z7 @6 r$ n- Q2 L) O
var isLast=false;
' ` W; m; v$ G: ]5 M3 Z6 `( A
/ V- g; l9 p9 @/ H3 [ while(parentBgColor == "transparent") # F* V2 o2 V1 H9 w p6 d
{7 e7 I( U3 C; K2 m* b: [
2 C0 N0 ]3 V8 P5 w # ?) l! q8 T/ _, | p# l
if(parentNode.parentNode == null)
_& \7 H8 s- n/ p0 F {
5 K1 n( Y, f1 y7 Q( O5 n isLast=true;( ?4 e# W4 I5 V& ]
break;6 m4 |" v4 O, ~" J F0 E+ Q6 |
}
8 G; g0 ]+ V6 Y4 Q* u3 M* g+ U parentNode=parentNode.parentNode;
O# v& h. q. m) y9 f* x( n) O parentBgColor=this.getobjstyle(parentNode,"background-color");
* K' w* a3 H* T; b7 ?2 O. c9 e* F8 g% E
if(parentBgColor != "transparent") : g1 S2 T, W* O+ X- O3 ^8 e
{
) X0 Q& z9 U; Z& O8 i6 N! w6 y break;
" G. c3 `$ y* | x+ G }
5 x c/ O8 |) U( }% r }
6 x; J" S: [; Q+ L# ? if(isLast) % ]) T5 H+ M8 _" j' o* e9 ]
{$ \4 @5 N3 t& D2 M
if(debug)7 W. ~& z/ {% i) C
{
( K B# y7 m" ^1 g# a alert("last!!");0 ^) ^9 {! }- I& O
}. y% b) J4 n2 M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); i/ I0 ~: r1 g, A7 c8 l) e8 |
{
, q) a' h1 [- b1 H orgNode.parentNode.removeChild(orgNode);
, \ d+ r6 S" d7 ? w }
' K/ y& {$ ]# ~2 _' w( ?$ F }; j' I, ]( f1 W( U
else2 _$ h( I- Q4 \- `1 i0 M) F
{7 F. `3 s& }9 t* z H/ \/ s/ d
if(debug)% Q7 V, W+ F8 x
{
' \, [7 T2 F3 P3 H, }: k. x% @ alert("compare color and parent bgcolor!");7 b t( w1 {* @7 n5 P+ g
}
( d6 P2 g) I; A8 ~4 t1 V parentBgRGB=getRGB(parentBgColor);9 J9 Z; s( ?2 d% T4 n, O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 c- g9 M) k' h* h. H* w
{# I* b: }/ U) Q9 k9 F
orgNode.parentNode.removeChild(orgNode); 3 }& `$ u+ S# l& I0 \
}/ e; q" {, V4 `4 A% n
}9 V. b3 Q& ?% g' Y/ b" L: y
}- ~% ?) X! Z, @+ \ b) D: z1 Q6 [
}
4 r- C. r& i7 f9 H y" D" ? s6 G }9 X5 A+ w$ g7 U' ^8 U0 \/ d. ^2 |
}$ f. x; ?3 \6 }7 c4 U4 [
1 W I0 Y$ x" `2 f, k0 y; n
7 Y! G( Z( f' E5 `3 Y8 D var itemFrames = page.getElementsByTagName("frame");
1 e5 N/ t# g: O! K+ ~0 ~ var itemiFrames = page.getElementsByTagName("iframe");
1 Y+ ^) a* {- c3 Y$ l
' z2 U# ?& N, F/ t var frame, iframe;
* @# Y3 p6 k7 R9 m+ W if (itemFrames.length > 0)' I1 A) `9 Z& X% G. L- y
{
1 l" L2 K2 v8 ~1 t) ^ for (var i = 0 ; i< itemFrames.length ; i++)
, P2 f8 P: U5 m: v0 O# e {
9 K5 l, ~4 f" p frame = itemFrames.contentDocument;. _+ v% `1 W Z+ U# E ]9 h3 v
this.RemoveHide(frame,objname); $ I+ Q( ?3 q% K% A
}
+ }8 i/ ]& t9 T$ @1 s }* U8 W+ i1 q1 s+ t' W& P# s
if (itemiFrames.length > 0)4 x: S9 ]5 u3 l2 y
{
1 J0 G7 ]! s9 L* q' L0 U' S for (var i = 0 ; i < itemiFrames.length ; i++)
! S! N8 V6 w3 Y$ H D L2 V {
; }2 T- M" `' z( `% `4 \1 F iframe = itemiFrames.contentDocument;
0 Z2 v4 z6 l1 l this.RemoveHide(iframe,objname); . ?- K; C/ O; e* x
}! T2 L! F7 ]4 P
}! @# d) b8 y. h0 _% z
}
5 s2 H1 [1 B( h; E9 @ catch(e)
+ U4 l3 J6 q+ j( c0 E" C8 ~1 l6 d {* I* u. j' j6 |, Y6 S+ c6 j+ B, A
if(debug)
+ K3 _# S* [6 ^1 |: Q0 D3 { {
: S# s/ r: `& w9 [2 i* _ alert(e.message);* s5 ]7 E9 f) k
}
9 S: \+ r9 a5 q( x) ] }
+ I6 e- o- a2 f( a8 Y) F O7 S }- a# O% i; @4 i! n, o
7 Z6 h! o1 \" U1 U}
" i# `4 G+ T$ T' f, k: W2 {1 d6 D" f
function getRGB(colorString)
9 Y, T7 r0 |+ `* w0 ] r5 k/ U, p{% J& B8 k1 p! G; v# E( M
var RGB = new Array;
! }5 o+ F3 g+ o# U var tempSting=colorString.substring(4,colorString.length-1);% X: @& M, h3 `; H: L3 n
var tempArray=tempSting.split(",");
8 r+ a7 O! C5 Q( [$ {: q% W
: s, ?4 \6 ] _5 b& m RGB[0]=parseInt(tempArray[0]);
6 U; |! ~, y1 ?& V: W8 ]$ O8 }+ f RGB[1]=parseInt(tempArray[1]);1 ]3 [4 u3 i1 h* Y# B
RGB[2]=parseInt(tempArray[2]);4 E. l( O2 q: i: ?# f3 Z3 U1 d" U8 j
+ n3 y7 X" @/ E! P4 R' j
return RGB;# [/ v! K; |: W* g. U
}: _# F* u9 F, I3 F" {; \
function keys(evt) ( D9 B) `; L9 h9 T: t! R7 K: A
{
& H* Q7 K0 Z! N# q. x if(evt.ctrlKey && evt.keyCode=="81") + u6 V. `% h7 T7 z/ ?- ~
{
7 a" y- Y1 j. }7 Q CleanHideObj.on(0,1);7 h! X. X# S0 d6 l! s* ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* U* T* d8 p ]( | - E6 _( V1 _. G& o9 l' i
}
! i7 F8 |8 X- l3 q& ^5 Y }
* f* K3 _1 U; ]+ E) Vdocument.addEventListener('keydown', keys, false);
% {( Z( v' o9 T& h& C" a' L4 PGM_registerMenuCommand ('Clean Hide',
& B" b# M, s6 _7 d: Yfunction(e){
N& P2 w F1 G4 c' E e" RCleanHideObj.on(0,1)
! X5 }. p, @ ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 [) I/ k5 a& n3 W" D9 H# s
});% V* @' w R0 b$ k! ?, Q
|
评分
-
查看全部评分
|