|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # X3 [ ]+ Z$ T; n. g8 w
" Y: X9 M2 N2 s+ j: U0 s火狐插件,用猴子( g, X) V/ X# W. o" T' r* P
4 n9 Z7 c" X* q* z8 o% C
var debug=false;
S2 F4 G5 m0 b/ Gvar CleanHideObj=new CleanHideClass();
1 U b' P# v& n; H
0 X) o; i. y9 H% J2 H& K8 ^function CleanHideClass()
9 E, A" H/ k# F4 t: ?{ ' u3 e6 }) N( U4 G5 D4 p2 N
4 a! B' @% I9 h this.on=function(id,bMZ)
6 i' z) ]+ D* M" {) |& @' v {
2 f" R8 l1 j! A& u
# y6 M# r( V( B" Z4 D if(id == 0)
- _5 ?/ s9 X0 c& X8 r \; E' W {/ j& b$ x5 W0 w& _' i
var page=/* document.getElementById("content").contentDocument */document;
" y0 X( b) j8 q6 Q5 D$ P N this.RemoveHide(page,"span");$ z1 x, q5 c; ?3 u1 {- t0 _) W
this.RemoveHide(page,"font");* T- r( P) Z$ D
this.RemoveHide(page,"div");
( {. S* @8 S" T! ? this.RemoveHide(page,"p");
& ], w- ^ q5 j1 o
; y0 H, @: I; ?4 w6 Q* ` }
/ K3 I% r4 c! U+ t 0 q5 s5 g7 y& r
}
S E* {0 f; _: a6 U/ h7 H9 a this.getobjstyle=function(node,prop)
7 h! i3 I0 F9 F8 ?# Q {
3 z) V$ P" ]0 n# _ try
/ k& v+ K8 Q0 G {
4 e+ u N8 @" M: N' l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* F8 q2 U% }0 K; r" K1 b
}2 s" r* _* G7 y4 l6 w7 t8 M% C$ I5 Q
catch(e)
) v3 x8 }2 Z$ N& J+ I! p {
3 \+ x$ N' q! l+ ^3 S if(debug)1 V1 @/ k8 y8 Z1 I1 ?4 ] w
{" S, y( a! p7 g: a4 w$ _* a- x" z* y
alert(e.message);
. t O9 k/ A& O$ G2 ]: G# ~" Y }
; X+ ~: w6 y6 {- ? , L6 X) W6 }' d" v+ \1 L0 t
return "200";, G% \" b/ r& t; C m6 k
}, i! |. A3 ]) V- j
}7 H+ X2 n1 ~: o% I4 f7 N
+ W" k7 u: U! ]! a/ C2 e this.RemoveHide=function(page,objname)
" ]8 }7 e3 k7 t) L# }# E5 B, \ {5 G$ i+ O$ C% f0 P" i7 N0 i5 T
try
6 s7 | C4 X( u% W6 S1 }4 e* Z {3 B$ l( a7 S% v
var minValue=15;3 w A4 @4 N# t2 H+ O
var objs=page.getElementsByTagName(objname);
7 ?8 a5 I0 ]* v. ]% d3 c
+ @" A; f9 V; m. t z: K2 S3 N if(objs.length == 0) 0 [4 X; ]5 f( b9 d% |' o+ |! [: w
{
+ T- v+ u7 w+ h5 @' O6 N0 e% | if(debug)
: ?' \# I: m y {
* U7 s/ [# i3 v! k$ z6 T6 G alert("no object found!:"+objname);8 F2 E; R1 C& k
}. W1 {4 |" V: l! v
}
, k0 X0 `) f# H4 }; ~7 P else1 Z# i5 i6 w+ K d& b% ]
{. h) @" c% B$ |! S, u* b( K* ]
: i( `2 D, p% |0 w8 x for(var i=objs.length-1;i>=0;i--)
9 r i, W! A# t% x8 N% D {* `4 Q3 R/ A3 e! R& |! L8 o" r
var node=objs.item(i);
* ~+ {0 r) [6 O/ i1 u3 M& e, b 8 X/ Q* O0 F; F$ f3 S
' |+ @* T. U4 f p7 D9 a3 a5 h
if(this.getobjstyle(node,"display") == "none" ||- {: A& e, f& [: ~; w
this.getobjstyle(node,"visibility") =="hidden" ||3 w" l/ F* V$ p& P
parseInt(this.getobjstyle(node,"font-size")) == 0)
' n$ t3 u6 b" m$ Y {/ D! e! f6 n4 J6 X6 n; i/ d& j
if(debug)
; ^$ e/ `# N1 }1 A" K! Y {! z* j8 O) k0 R- q8 `: F% L
alert("remove invisiable!");% g& i- B# r) C+ F8 z8 m
}
, g5 T& Z1 L- i ^! U% i node.parentNode.removeChild(node);' n& j( q0 K/ A, M
( ]6 O6 p- |( c p0 W
}
2 X( M8 H, E+ q1 T1 x3 i9 | else
[" l$ H4 w ` b* }6 O5 J {( s: D0 n4 n. Q) P! ~9 Z4 L
if(node.parentNode) ; ~" f6 ?8 C4 @ \# _ i: p: B& |# ?
{/ ~: h' d3 n9 H; u! u
var orgNode=node;
4 e3 ?8 [, v" r! o; h var orgColor=this.getobjstyle(orgNode,"color")
/ e9 u3 a5 `2 D p( k var orgRGB=getRGB(orgColor); 3 f& g6 Y6 ?* R8 K: x
" g; d" ?+ S- g6 _# ~$ ]
var parentNode=node.parentNode5 ]/ t7 m% Q* r+ \, f6 F; a
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, k& q7 m; {+ Z$ h) n
9 A8 c& j. e' g) ^* t7 m var isLast=false;
3 \ @3 y8 j3 ]- Y3 K( { $ c$ l! Y& H1 a6 j i7 a9 [2 Q
while(parentBgColor == "transparent") 2 R, A7 C: K( A" I$ t
{' Q* e' N& t- S
R Y# T1 q4 v/ F8 F" X* Z6 ?
6 s/ U3 H. ^9 C if(parentNode.parentNode == null)- t' R7 g4 \* y- {0 e& O1 [
{
, q1 m1 ^: G: ? isLast=true;. L8 {2 i0 M# O
break;
d# h' ]* X% I& f' w2 d* q0 L. C }3 g9 Y3 o; y# {- s$ P$ @
parentNode=parentNode.parentNode;
8 O# k* a: Z" }; b% U parentBgColor=this.getobjstyle(parentNode,"background-color");! O3 {& y! S! L$ s P0 x
1 B- ^3 N7 O; ^# M7 Z0 ^ if(parentBgColor != "transparent") : F! p( h9 B5 S+ M/ `. n; \- T
{& z$ @3 F$ _) x0 s5 T5 |( E1 ?) v7 h
break;
8 J# e. Q+ E! ]9 Q: |! A$ r8 \ }
2 P2 ]8 s- U. {8 }9 h }% }3 | T$ A2 `4 x* w: D
if(isLast)
" W/ I+ ]1 Z. N6 p {
+ W& Y ^+ ?+ M if(debug)* ^2 j" Y8 }# q. s# ]; x9 a
{
4 ^* l& z# d) l, `8 `% Q, I+ z alert("last!!");5 k& {% d8 j' \
}' e0 k1 K6 l _/ h
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
L% ^0 Q! x" }6 Q {/ O9 W& `$ e& ?
orgNode.parentNode.removeChild(orgNode); " Q& M( S; X6 \9 r, n2 H
}
. ]# Y: R( T$ U5 ] }& k) J$ d4 @) ?9 ?4 I5 v
else
( q/ M8 I. \* O) o# h {
) e' ^7 m; P+ @% w# M; n if(debug)
5 j% u/ P c; |/ } h. m# K% u {5 l s# ^4 ]5 y" v4 X% n0 F
alert("compare color and parent bgcolor!");
! Z1 J9 A5 Z8 c: y }3 E0 W: {1 n5 m/ @8 w: ~3 K1 n
parentBgRGB=getRGB(parentBgColor);5 i M) U- _7 l7 r: P# D# H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% t6 c; u- e1 C* n0 ~ {
/ H6 z' d# M$ ~. c+ W3 z orgNode.parentNode.removeChild(orgNode); . g3 M7 p+ Y5 [- W, R
}- j, j& @" d) T1 [
}
* q8 `" o+ i+ n& m* S }
9 ~# v7 t+ M: u0 j7 S. ^4 ~ }
7 ~8 }- H9 i0 ~5 c8 M8 k }
0 d8 P0 v( ]& Q/ o }- A2 \4 b7 @9 ?" A- v. ^
+ C9 w# B; k9 P * K3 O7 A+ l) ~8 A
var itemFrames = page.getElementsByTagName("frame");
4 U B }' ^! @- Y+ C! r var itemiFrames = page.getElementsByTagName("iframe");
! ^" p) n& a+ R( t3 P5 q
: j7 x, Y4 h1 F! y+ E/ `2 |2 U var frame, iframe;. H! f4 Y& r2 Y9 v9 p$ r5 q
if (itemFrames.length > 0)+ x2 \% w* q" h* ^8 q4 G
{4 \* D0 y& z* ^5 d* T; `
for (var i = 0 ; i< itemFrames.length ; i++)
0 N, m& E: v1 [8 d! f3 f7 l {9 N9 s; w8 B2 j' p% i
frame = itemFrames.contentDocument;
8 Y. `# C: e( h5 P- U this.RemoveHide(frame,objname);
8 J! v% L& T+ }- y# G5 w }# g9 u% Y) M* i
}8 D' k7 x8 ~4 ]" @/ B$ n
if (itemiFrames.length > 0)* W9 I, Z$ R: |
{) m+ S @( x* E
for (var i = 0 ; i < itemiFrames.length ; i++) ' O7 v+ @5 N) Z: Z8 {5 g6 @2 s
{$ d+ ]7 ?/ j! X( O3 ]
iframe = itemiFrames.contentDocument;) Q, k B; \* w" @
this.RemoveHide(iframe,objname); 6 h; K+ Z) g) s( V1 s; @) ?1 P
}; H; s( ~( T' t8 }% g1 N' i+ E
}, Z* n4 a# p2 `6 C6 r8 L P5 R. _
}* l8 k7 J; J0 \* q$ y; u1 T# J% H
catch(e)
2 w6 ~' d* T* | {; n* T+ C" \2 ^" B5 E
if(debug)
# q" D4 W* l2 I/ a0 U+ V X {$ I# v# l/ Y% j& ]1 L- ^+ W- v
alert(e.message);# Y$ g5 I5 ]8 D
}
3 V/ y8 s0 @: {) F% X4 H; m }$ |- c- u* K9 r9 u: W9 O
}5 P6 Z, a" g7 ?' j' p. L2 ~
2 V; A7 v: {, ?, r4 u" z
}1 K9 R0 z3 D8 g0 b0 p3 u
e5 D/ i( r# `6 M
function getRGB(colorString)
, {% d* z1 @' }$ U- u{4 z/ p- d6 Z: Q! F. O& o' C
var RGB = new Array;
6 s9 q$ Q- o' Q1 ~4 a' f# ~- b! k2 q var tempSting=colorString.substring(4,colorString.length-1);: { S# O( y; k( Y, w0 o
var tempArray=tempSting.split(",");
: B4 [7 e) d9 H
1 X+ |. h2 K( r a RGB[0]=parseInt(tempArray[0]);
# A3 [7 h4 j4 C4 }2 A RGB[1]=parseInt(tempArray[1]);6 V7 s( P1 z' Y
RGB[2]=parseInt(tempArray[2]);( e9 m" i0 [" W( y
3 A: G/ |$ V$ z* k return RGB;: T6 ~, q1 g" @: f. P
}! B. [3 d ~4 ~! E( l- O
function keys(evt) - j+ M$ F4 f- ]# X) j4 m
{ - d: t% K. ?; i- K! f! M, j
if(evt.ctrlKey && evt.keyCode=="81") : P s' h1 k. x! I
{ - k u2 U, }! }
CleanHideObj.on(0,1);
- X1 q$ a* h# `. i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ E9 A h4 T0 D3 e* {
* `. d* T B0 @0 |5 e! l0 [4 b }
* ~ e2 K4 u: V* A3 ^( _ } # E, `% ^- N" x) g. O
document.addEventListener('keydown', keys, false);
?; Z4 R, O/ O- |( _4 U% q1 {: S5 HGM_registerMenuCommand ('Clean Hide',
q% k [) h' g1 S/ s% U3 b Ifunction(e){: `0 a9 ~0 f7 G% T9 I, N2 s: C
CleanHideObj.on(0,1)7 j4 p, N* ]3 Q" _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: M; K) V1 i# [- M1 Y});
8 b$ V4 s5 x8 u/ r: V* O% c |
评分
-
查看全部评分
|