|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! z6 r3 F* I% g4 y
, k/ G/ @8 K$ {1 }# W' r. D/ h火狐插件,用猴子8 S# o1 A( n' `
$ ~2 @' F/ {& C+ t
var debug=false; 6 e- f& k0 ]5 f) J _, L( V3 y9 u
var CleanHideObj=new CleanHideClass();
' a+ ?+ o3 q* o0 C
1 K# d% e: A1 z+ |function CleanHideClass()
" D* [ A" U* _: F{
$ Q9 |: Q& f n& k
4 c% R" n3 I3 f! R$ b- L this.on=function(id,bMZ)
0 R6 R3 e4 j( W. R, }9 i1 F1 o: o {
" X3 C6 [) m* S0 i0 }
1 B2 L7 A. U4 _- ]2 O+ O if(id == 0), n! j. f% d0 o. [
{( X( f% M; T# T' ?/ i
var page=/* document.getElementById("content").contentDocument */document;
/ G& @; F0 \$ [! w9 D+ X this.RemoveHide(page,"span");
% B* [1 F N0 h1 |" w. i" z' Q this.RemoveHide(page,"font");+ P1 G4 T4 L1 N; N5 o
this.RemoveHide(page,"div");
2 ~0 H# P! B' Q& E9 W: a# ^ this.RemoveHide(page,"p");
% ~9 m6 [ Q' c( x4 G 0 B; ^. y; m& Y; T7 p
}
& K/ g7 v) o. h/ n$ b
2 g4 M ^8 o# I; T }
2 @5 M1 L/ `% g this.getobjstyle=function(node,prop)7 } E& N1 h7 k
{( A: D2 t! M% c! U
try: \ g3 a4 q( t& P" c6 V
{& w+ C- p4 A5 l- Z/ A) M# C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 Z& }: R3 v- Z3 t* R
}
) }& ]. [0 C) i catch(e)# l- k' p1 I& n- |0 [* S/ }2 ?) }
{
/ R. w9 m$ V1 j- H6 ] if(debug)! U) B Q/ r4 f: T" V0 S: g8 O
{, q8 k! f2 _+ X
alert(e.message);! D5 N! a# v: k0 j2 T
}
3 ]2 N6 K1 r) h/ U5 F # t+ E X" B+ V& q! T
return "200";
; D7 ^: ]$ F: }8 V4 X }
% p. H) f7 u8 Q: ]# s- f }
8 i5 M& n* y( w; u7 N! B # z2 v4 l2 M) a+ b$ D) u
this.RemoveHide=function(page,objname)
! Q8 C. l$ m/ _6 h {8 g8 W% _9 _% E" E
try, _- A: g! k9 Y
{
+ `5 C1 q2 Z5 Z7 R8 m9 O var minValue=15;2 V7 Q) P. Q6 U7 r ]* p: v
var objs=page.getElementsByTagName(objname);
7 r6 ^/ R* G: [/ l+ i _ l! ]% {# ~
if(objs.length == 0)
" q" [1 m7 a7 _/ h {- s3 `! W+ q$ |6 q% k
if(debug)4 Y" G, O0 S/ `+ t% J+ k0 b
{
: e5 ]9 l. m! F% A3 _: y( e alert("no object found!:"+objname);
1 n0 l# q$ [9 Q o }
* }4 c2 U5 n2 ?/ m" F, P: F' ]( s }
, T& T0 U! M! f$ j$ l5 Y else
1 S# X% A9 X$ I- @( f/ Q6 n1 o {
. V0 m8 c" r0 \; X+ N " L7 H" ~9 S* e/ a* C( e* ?
for(var i=objs.length-1;i>=0;i--)
$ Y% e. O* ?( r; n, m* L, e2 r {
' ~0 N+ y* c% P$ E$ x var node=objs.item(i); , U, L6 {- f2 b0 v. B
5 R$ W* G& k2 q
) z# w: d9 A& A) L; T/ v% ?) u if(this.getobjstyle(node,"display") == "none" ||3 ^; U; I' @3 w( K' |
this.getobjstyle(node,"visibility") =="hidden" ||0 k! @- I* X& e+ a- \7 B
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 a) j# R0 y8 W1 d. q {' N1 @$ }# @, E/ {6 S- Q- B& O
if(debug)5 C8 g( }+ E( f! I
{
* s7 T5 F# Z; d! L" I6 X* l" [0 W alert("remove invisiable!");
" R4 C1 i& h8 t, J+ Q }
2 W7 E8 @; k5 F5 v, O( e! i9 O: E3 u node.parentNode.removeChild(node);$ F0 T; L, A6 i5 v7 }4 }' K7 w8 K
& t A$ K, c/ l. J6 h# E( ^ }5 M; F4 c& P$ p
else
1 M4 \3 N# P; D* C: r {
2 D0 Z2 I( I9 c1 `# } r if(node.parentNode) ) B/ L% w0 V5 f+ s. C9 t4 j
{( M' c r# X: g3 M6 J
var orgNode=node;+ O3 i/ Y9 B6 [' N
var orgColor=this.getobjstyle(orgNode,"color")9 i4 M. R' h* U7 f
var orgRGB=getRGB(orgColor);
5 @0 ^& j3 u% r0 r0 M% ]
$ u/ A$ `: V* L6 h var parentNode=node.parentNode& k; m' m7 B9 Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");; B v" r, a' }! y" @4 j
, L, g+ v, `% @" @: y5 z1 E1 S
var isLast=false;- O- S8 a9 M. |) H0 R5 f
& e/ h5 w: L- X1 ~0 \' c3 [ while(parentBgColor == "transparent") 0 X+ G+ Z' A" u& l" j/ y
{
1 p6 v, i8 \. s+ l7 I! H
6 Y" u6 H& O/ l9 e. ] 0 i8 b& V/ n! r3 r( P9 D
if(parentNode.parentNode == null): W$ n }; V' |
{3 m$ @- J5 P' y! p% ]8 F
isLast=true;
1 s6 B/ X: j) X! M* S2 o( P. L break;" R/ m+ J- t* D8 S$ m
}
( I2 h `- i$ X2 Q; e" W9 g% ` parentNode=parentNode.parentNode;5 a+ H0 B8 _! P) V' ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 U- }! ?7 F% U* k
( y; b, @: C) k/ R2 t, R if(parentBgColor != "transparent")
5 w5 P3 p5 {! G$ q) G8 `2 T4 f {
* i, O( j! g! S+ i+ t* T/ d1 o& f break;
$ }- Q2 o# _; V4 F. l }
5 \) `% E. m3 r6 o2 | } Z: F a+ U/ ?. Q
if(isLast) ) k% p8 K' [! A% z" Z T u i
{
1 C3 v C$ }' K: Z% K, d! X if(debug)
# G7 U, [1 S% N( e2 t {$ v& q. {8 _( I9 D( w; r
alert("last!!");2 D ?4 g2 L, x- W& S
}+ D+ U/ I7 H6 B4 p2 M5 ? y1 q/ s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 C5 y- B. @9 U
{
% ~6 S9 H; \! s! S orgNode.parentNode.removeChild(orgNode); $ ?: A' L5 _! d5 Q% m1 a
}
' ?+ ^: o, o+ L3 n' `/ { }
2 i. w8 t1 F0 B0 L" i7 D else, D. B5 `: T. i2 E% N0 f
{
$ w: _1 r. Q! T if(debug)
' ~9 D$ {" y: E9 t2 _8 P# S {
9 n8 w3 V: R. j1 w" S alert("compare color and parent bgcolor!");. O! p: [- W2 i0 Y6 p7 e* ]
}
6 S5 A6 I) u0 V5 Z7 \% r parentBgRGB=getRGB(parentBgColor);5 E4 Q/ `3 X4 R% f$ ^+ ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 W) t/ J# {: ?/ l+ o& z! R# C9 p$ K {
7 u: [0 G) E8 R$ W orgNode.parentNode.removeChild(orgNode);
! y2 p G, Z" w+ x* Q3 w }1 Y* v; z( r+ V& |) L( B
}
1 D0 o7 o! C. O* d }
8 B: j" |8 \0 Z7 O) J& ]% l+ v }
: e# z7 w! O/ n' m ]$ _! ^ }
6 q* P5 g6 p0 ] a& x$ [* |5 C& p9 q+ h }" D2 a( q+ c# x4 s" {$ X5 `4 L
) _- k) x- B( `& ^
7 }& J1 p8 }" C2 Q! r var itemFrames = page.getElementsByTagName("frame");/ r6 Z+ \ I/ e$ ~0 S* J. s* ^% M9 T/ X
var itemiFrames = page.getElementsByTagName("iframe");1 f/ n8 \4 |+ Q
% _% Y+ u5 w. W
var frame, iframe;7 w1 ?2 Z) N- ]- k& {( T
if (itemFrames.length > 0)
5 b, G; E6 W: h: K) L6 l {; ]) _0 I e( m8 s8 O! V" K6 C
for (var i = 0 ; i< itemFrames.length ; i++) 7 @* z* d3 K, F% _, U* |
{
- \. [. [6 p6 e& T) f frame = itemFrames.contentDocument;5 n2 s0 i' ~3 N) X2 `6 D
this.RemoveHide(frame,objname);
. m$ K9 z1 @7 ^2 @, `+ N; J }
. n4 ^4 t6 p$ t. i5 W) H }0 E% M# a; n9 m9 Z" x& J
if (itemiFrames.length > 0)
; R' ~$ X2 @' _% W; b {' f0 Y, |3 f/ R
for (var i = 0 ; i < itemiFrames.length ; i++)
4 L3 A6 j" r0 o* q: ~8 Q9 @1 H {
, Z; K! r5 u, ^ iframe = itemiFrames.contentDocument;) Q0 m8 r% ^! f9 x/ Z* P# Q
this.RemoveHide(iframe,objname); ' G8 m I5 k( S" ]9 v+ P
}
3 l9 ^2 r. ^0 n; i( ]& j) R }
8 [3 J/ e6 U) S6 v }
# V) l$ ?6 d! t4 n7 p0 J6 q catch(e)' E4 ?/ N8 i4 r5 ?* U7 K; R
{
; U$ _! o4 F v* P if(debug)
# D( B$ B, h) p% v {
9 `, o& P5 H; w$ ?6 ] alert(e.message);
$ t/ k9 r4 u1 v+ `& F }
8 D6 o6 z3 L3 W( F2 g0 @' s }
" |: k0 E8 j* }$ X+ {3 { }! ?9 `+ @ Z2 ?) T
- j; }0 r+ i H2 ~
}9 {6 @1 k8 ~; g' h9 M0 o
3 [# O2 ~7 N8 }( k3 E7 N$ A3 l3 Kfunction getRGB(colorString)" k) M& k- c, p
{9 e9 Z& \6 X8 v8 a/ r8 E
var RGB = new Array;0 b j/ g( l+ V$ F4 ]' Z5 g0 [
var tempSting=colorString.substring(4,colorString.length-1);
; Q3 i0 ^' Z7 E z var tempArray=tempSting.split(",");
: {/ M( y/ d7 M" i, \" @8 W p, a$ R+ T5 b
RGB[0]=parseInt(tempArray[0]);
! s/ t( R5 t/ r p5 m8 d RGB[1]=parseInt(tempArray[1]);
% U) a7 w& O) ^5 a6 \' }# ? RGB[2]=parseInt(tempArray[2]);/ A9 D/ ]9 A, @# ~8 E2 ^; r
7 i1 i- R% K8 Z. B# b) }; A
return RGB;) M l* ?) _2 _. S5 A
}. a+ W+ J b# B2 J& E
function keys(evt)
" G% e& \- }' p0 ~5 r+ I4 b9 K { * A+ T+ m" A( X& V, L
if(evt.ctrlKey && evt.keyCode=="81")
6 _! c+ w, h } {
l! I- _3 E e/ y# i4 I CleanHideObj.on(0,1);6 c7 Z+ Y9 |- A0 n, [0 X. |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + B) x+ k3 Q$ Z* m7 {" k ^1 ^. ]
2 q5 E. Y2 Q2 k+ V }
3 m5 H" a Z" v' x } 2 h! f$ B0 _5 ?4 j5 f3 W( {# v
document.addEventListener('keydown', keys, false);
4 N/ H6 f; k7 eGM_registerMenuCommand ('Clean Hide',3 F) ]! L4 g( n$ K$ b
function(e){
5 N& L0 W, U! X& mCleanHideObj.on(0,1) ^! T. R$ D- ^) N# X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; w0 M5 ~ A5 ~5 v7 _9 a8 o});+ \% `. I, U$ ?1 M* S
|
评分
-
查看全部评分
|