|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 }9 t) s" x& X* q. H$ {0 ~, `5 z4 K" d" B4 r
火狐插件,用猴子
) H, Z9 n$ M; k& L0 }) q. k. j' V5 u0 _. a# ?
var debug=false; # e% v2 i# i& y: y# _- C
var CleanHideObj=new CleanHideClass();2 D! m% f2 c) z6 ]9 x+ Q: Z
7 p' s) x2 G4 V% T/ K. Kfunction CleanHideClass()
; ^% L, _6 J e; `/ M# T8 e& o. \{ * Y1 U5 L6 q4 Q
8 b" _+ o( H2 w3 h this.on=function(id,bMZ)
^7 \) M$ X7 n" ] B {
: m4 b2 r% z- f$ G% ~+ ?6 n $ z* B2 {9 W" ?8 B
if(id == 0): K6 b, M: f5 l! r# [ S, s
{
* ]; h5 y* D4 o# M% \2 X var page=/* document.getElementById("content").contentDocument */document; , X5 o+ G; ?9 F7 |8 z' m; m
this.RemoveHide(page,"span");
{7 s" g' i7 s3 S, o this.RemoveHide(page,"font");8 Y/ @: X' b/ s; \1 i
this.RemoveHide(page,"div");
: t: S, f; L& ^* h5 g; K0 C4 h this.RemoveHide(page,"p");
" t% T# |0 p6 n$ g
; [4 P7 v) M7 ~2 o9 F3 x }5 k, K! O! B0 ^. p& ~2 y
* z: t1 e+ b( e! w7 |
}# L2 |' r# D& e' O' f- D5 J
this.getobjstyle=function(node,prop)- S! [: S' F* f3 {7 W2 f4 y4 e
{
! I A n6 L0 E, `& d. \- ^' @ try
5 n4 T2 F; ]4 N/ B7 t1 K' M* a {2 r' u+ A, [4 f1 q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" S) q4 m* {% W' q* W }
; ?1 K. _" ]+ P7 v) q catch(e)- i+ ]9 \) e5 J9 c& e; j
{
8 _( S5 G% v* u: d0 I if(debug)8 |# q4 \. l% z; o
{9 g$ V! q$ W& J* X
alert(e.message);
# b4 w* g2 v6 e, H5 m0 ] }
- T+ i$ X( R0 f1 ~1 I/ D- R- l 0 p7 \/ k* N9 Z1 O, J: n: H
return "200";
- F" n6 c9 ~' O, _( S; A7 ^$ U }( }/ }2 Z1 r& E1 o/ I$ L& y9 X
}, a: D3 @7 T: `- s5 a. ~1 Z1 l
' c5 G7 z, b9 z0 [
this.RemoveHide=function(page,objname)
9 J ?) J. w; q+ |6 H {; o% H! x+ l1 N) `$ w; Q3 u
try8 }/ ^8 B# n: d5 V+ u
{$ k: N' u1 f) ? j" S7 t
var minValue=15;6 h$ Y5 }5 H, M" r [, X
var objs=page.getElementsByTagName(objname); " b& t% f- a/ d2 n L
5 x$ M4 Q6 F3 G/ | R
if(objs.length == 0)
9 j/ w; C# p7 E& g {3 M" L& M j# g4 V
if(debug)/ k0 _! d/ W9 m; F2 x6 `) R
{
% r4 j! i3 U s- M+ k alert("no object found!:"+objname);* h+ p( t) l6 l/ F& P
}
) t+ f/ |( J: x }1 R3 U) @# ?! K+ u1 a4 ^( F
else
. @$ S7 [/ A. U; c) N% G2 h5 l {
6 i0 E) Y8 u0 s( g- t4 ^7 B4 L9 x K, _- B% p2 A1 u2 o# V% F
for(var i=objs.length-1;i>=0;i--) ) n4 w4 u1 \, l( ^
{& L; h5 h. h5 |' ~6 A' u3 \/ a
var node=objs.item(i); 1 L$ z6 L5 e! @5 w h
1 `$ U& f$ U$ ?+ h. V3 c
/ E: t1 x% S* V$ l. }! _ if(this.getobjstyle(node,"display") == "none" ||& u8 G. d4 b# t
this.getobjstyle(node,"visibility") =="hidden" ||$ F! g3 K: O: P
parseInt(this.getobjstyle(node,"font-size")) == 0)
; @" I3 V$ }; _ {
* z$ _6 ?- K& q9 t if(debug)
4 z3 M% C. F, M- y {
$ Q9 v& j! _* U% S9 ^6 | alert("remove invisiable!");6 z9 d( q3 x" a2 u# m
}, z! x" n6 I. j E$ S9 h# ^
node.parentNode.removeChild(node);0 f8 |$ c4 U2 g6 {/ K* |1 H
: w$ R: J1 H- {, M f7 ~
}7 v1 c& v* P1 o. z, Q r
else & {% V) L' P4 S% F+ x
{6 K: T( R) W+ q; L1 x/ \; S. _
if(node.parentNode) 6 ~. I9 s1 d% J0 r( d
{
$ M9 @) N# X8 k3 @8 s0 k var orgNode=node;
1 a5 L; L! _) J6 M& O" u var orgColor=this.getobjstyle(orgNode,"color")
; V4 _$ V) G; {0 q! t var orgRGB=getRGB(orgColor);
* J, E6 k/ \7 s8 L: X2 _% i
8 c% ^+ ^2 Y) y- t var parentNode=node.parentNode. A, M; w4 |% e/ l2 E7 d; q9 L
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# E$ G5 z. d7 N( r! D% b: ` ! `* k) Q+ H0 Q/ f! _/ f, `9 o
var isLast=false;, V9 ~0 f6 I) D* g- u. ^8 f
. J% T9 q9 W2 Z0 q; W
while(parentBgColor == "transparent") , K6 a3 N, o* [, u% A8 d, p4 k
{' q& `9 K- I6 E9 \6 [
/ p) f0 y- K" ~! x u
9 j) o8 k0 d+ t2 S0 p( q) y* I if(parentNode.parentNode == null)8 l/ n' X4 o( d; `( W1 K
{8 k' C% N( q8 t, X3 y
isLast=true; B1 h5 g3 l# C& [
break;
* S' B7 s2 t, h3 f, n- s }3 f/ [- O& |3 e; w; m5 S+ p) L
parentNode=parentNode.parentNode;
) A( h2 q! d6 b- _6 X parentBgColor=this.getobjstyle(parentNode,"background-color");
: s" i6 j( J* y9 C' F4 g% U# H* p& `* y# s# z0 M6 ~; \
if(parentBgColor != "transparent")
* s' u9 P6 i# B6 y {% L0 D% ^0 f& ?
break;
4 e7 }+ d/ [% f2 B& q }
7 Y& e3 F; _+ d' I0 q2 r& K }/ m5 u7 {0 B* K/ Q! i1 L/ h2 `' ]
if(isLast)
0 |; W! l( t0 t1 \ {. E D N" L4 K
if(debug)
7 o* |9 k! y8 n1 T( o {6 o( Q3 K: T8 W# E
alert("last!!");
% x: f! x- ]. @1 u! S* \- I+ g }: p( r& s7 M$ B! D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): ?8 h; O- {9 C+ E
{, j9 j& A0 M( P) r/ L- Y
orgNode.parentNode.removeChild(orgNode); & t) l* ` d: j. d6 m
}
. d2 f* W, W# y: x6 s6 b1 z- \# ^ }4 f* I) O6 l; F: w7 k
else, e/ i& k' ^; ^, D6 F, W
{/ h9 e N- h; l2 @8 O
if(debug)/ j1 x4 [ |3 j
{0 Z( n, X4 _+ A, }. A5 a3 a
alert("compare color and parent bgcolor!");0 v5 r$ \5 }% z: b: {; o
}6 r' C( y2 [, Z, @' ^; A; H
parentBgRGB=getRGB(parentBgColor); m. G- {5 @2 A& b& S, T5 \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! }9 [2 K( b+ C) C {
- T, k. G7 W e" I& d6 w2 e$ M orgNode.parentNode.removeChild(orgNode); 1 N. ?# D. l1 Q3 [8 {4 }
}5 X4 m5 v; z" q4 E- S* _. v1 x0 E2 g
}
. d$ C) m9 Q# e) y9 r }
) V" M9 v5 \* g4 w7 h0 e% u }$ J- @6 ]8 b7 ^1 }. W$ I/ S
}+ ^1 S5 x5 v- f$ C- F3 A: O
}
! O2 v# q7 O7 @0 R4 {- I& H; o, o m # h7 w ^. X$ X: `/ V. b
0 C! Z _/ \6 z var itemFrames = page.getElementsByTagName("frame");
% g# j; k, B( G* z, F+ f4 D var itemiFrames = page.getElementsByTagName("iframe");
% L0 n6 g9 B8 I. Z1 J
( S, `7 Y/ V M# M- ]! Z# o var frame, iframe;
; ^4 v: k$ a* z1 s4 L if (itemFrames.length > 0)
$ \0 {! J+ ]' n1 ]0 J @) h {7 r- C# R9 j) J$ d$ _
for (var i = 0 ; i< itemFrames.length ; i++)
4 Z3 \# N/ M2 v- ?# S2 w1 v* u {/ k. \5 T% I4 ?' G
frame = itemFrames.contentDocument;2 P1 W- j" z9 y+ W* l. L
this.RemoveHide(frame,objname);
! E& w( {; i) A: c) z* P1 i$ c }$ D: w4 u; q6 \! A0 N
}
8 `" s4 V5 w( [% q. Q) T if (itemiFrames.length > 0)
; D2 _1 d* }' [6 R7 U! s {
7 O0 f' s1 D+ ?: F for (var i = 0 ; i < itemiFrames.length ; i++) * j& ^' _- Q0 q( E2 c, q* ?
{) o) i% H9 A" J' e; r+ m/ Y
iframe = itemiFrames.contentDocument;
( d4 E, [, [* g# c6 r X, W) M this.RemoveHide(iframe,objname);
# U u, M' { H& M( {9 |# k }
$ A8 q. R( p" i }
7 R, T# a( [% _5 O: S. e; u% \ }
3 j# h& D' m/ ]7 k, T( P catch(e)6 a' U+ r/ T& Q7 ?: D8 l
{. E) G( b5 } g7 w6 y
if(debug)- s9 D# `0 o9 X! N- Z3 {
{# L7 N, z( R9 k5 z3 @. s
alert(e.message);
! {$ G3 S5 L+ W' O$ x }
, z' J) I' l* |# w/ U# s }* }: z3 ]( ^0 a! y" l( d
}
. Y& Y, @8 i! L L6 H% g; k0 d
' ], m* [* P! y$ c4 W}; B& @$ f/ s: Q# V
% I8 v" ?6 Y7 A: `function getRGB(colorString)
) w+ K, R$ r% l9 P8 Q{
$ `- I9 w3 s5 M; w4 D8 R var RGB = new Array;
' e2 _; L# k* @ var tempSting=colorString.substring(4,colorString.length-1);6 }+ ~: k6 \8 H5 e* f$ y
var tempArray=tempSting.split(",");
5 V4 y# ~% I: A x. ]& ~
: ~% y% L/ J! W! X" ] RGB[0]=parseInt(tempArray[0]);; _* h5 v, o9 Y& j f* r$ U: W5 `
RGB[1]=parseInt(tempArray[1]);. m% \1 o- q! `1 `4 m _6 e
RGB[2]=parseInt(tempArray[2]);, T* d3 t: A- B& j
" p% P; y$ E" }1 J% t/ ]
return RGB;
/ E2 t1 J; G% K! m, {}' A# y. Y) @1 e
function keys(evt) / E. n0 d: X) v0 i' L
{ ! S5 e- T# k) q4 A3 Q: _2 T% p7 H
if(evt.ctrlKey && evt.keyCode=="81")
) ]9 b8 S% ^' c7 ~. M { " A1 z, j& _, K1 I3 o* J# a: i
CleanHideObj.on(0,1);* O4 a/ J6 k9 T: F6 x! X/ A8 Z! h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 V, F5 }+ S9 ^" {
8 X* ?, e2 U" H- f& v
}
( e, S! \3 A9 Q9 J3 O! { } # p2 U0 |% H' k/ e
document.addEventListener('keydown', keys, false);
9 I' l8 G* s @7 R X8 jGM_registerMenuCommand ('Clean Hide',
- M$ P7 u+ ?& b& W/ Hfunction(e){% V8 i- f; F; ?, ?9 f) {6 x
CleanHideObj.on(0,1)8 w3 |( q/ y- N$ i3 Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! L2 a! S8 v w4 R. R- P2 J, t4 M, J});
4 l S& H: Y2 n# A8 l! [, ^, } |
评分
-
查看全部评分
|