|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 t, e2 G/ ~6 `5 ^, k& \8 m* @# b7 T) w9 K
火狐插件,用猴子8 b3 I) L1 S% Z7 B; E3 u2 L% i
' [( e' N3 Q- \/ ?3 ^; v1 K- }) U; {
var debug=false; 0 s4 L h4 ]: |
var CleanHideObj=new CleanHideClass();) q- Q3 f. D S: o- ^% E9 ]
4 E+ p; s4 `7 W1 \7 z
function CleanHideClass()
9 S: g; ~1 F( C3 y( Z{
/ j' A( x7 i" l " k1 D$ Q( g6 S" A4 P P
this.on=function(id,bMZ)9 m7 v# {- {8 z8 i2 r1 I4 G- P
{
8 ]9 u3 `) |8 i" s. C, o8 w1 ^ C: d
- M- X# F* U$ z5 j if(id == 0)( O; S* H9 ?; w
{
5 Q: u+ Y( W/ D var page=/* document.getElementById("content").contentDocument */document;
3 m9 c. u9 B! H; ~ this.RemoveHide(page,"span");6 y) u) b! w; m Q) W
this.RemoveHide(page,"font");
& l+ p" G' @" p1 E. } this.RemoveHide(page,"div");
0 C7 N/ T: C& d* E; L& A2 u% o% g this.RemoveHide(page,"p");( @7 b) J5 Q% |) s* f: V
9 T6 l. G W. ]: H, j }& [: J* f( E3 n2 S
. \. R: m' N `8 I; G" ` }6 P. `% u& e6 i# q
this.getobjstyle=function(node,prop)
8 D2 \$ H! z6 T/ a5 O0 [ {
. w1 v R2 g. N" V% ` try, l: Y7 W# L" h$ m: O
{1 W E& j3 ]/ l/ A- K; a, N8 J
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- d. B2 B* P+ u0 M
}
, A$ y' h6 l* N- T/ P catch(e)
D0 s: H" E5 x; F: f6 | {
% _8 o! F7 ?5 V0 j if(debug)
. J) c, B3 i$ U6 V4 D4 o' ~/ [ {
& @4 t1 f E+ ]# D alert(e.message);: i$ p% w( _3 x) ^) q; S; o
}2 H. V# c* s$ t! W8 q
3 h, a, V* M# g3 r% w' s return "200";
4 g9 }; `1 u8 ?& \+ R4 L5 A }
( D% a4 t6 n3 Z+ n8 N0 K2 P }' j( q3 B1 U% x9 Z
6 Z- k- ^# a$ c. B! {
this.RemoveHide=function(page,objname)
- h. N- t$ S2 P7 w. O8 }& |8 F {
8 T0 ?' W9 a7 l9 h1 D try: G2 N6 O9 P- J
{4 s# C% r; ^! i* E: E
var minValue=15;" Y: U# R/ h7 O+ c' w( K
var objs=page.getElementsByTagName(objname); ) x3 s6 \/ {: T5 X
2 H0 P& z A; O- ^5 N1 o1 D
if(objs.length == 0)
4 I7 S; Y8 ]% M- a {3 n) x' T# @) |. @( q
if(debug)" [, c! X: Q# b9 e4 l
{- `( _+ H& _: o
alert("no object found!:"+objname);6 z4 ^9 {' b5 c' \& S. z- Z v* P/ E
}5 Q; H. S- v3 }; G# s' f6 {
}' t7 L, l- U* V0 L# a
else0 F- H" C7 `. ?5 z
{+ i# e; s6 T( m% d7 x
' Z8 Y# P/ J1 i; R2 ]! T
for(var i=objs.length-1;i>=0;i--) + g& E9 }4 I; s6 g- a
{( \ O( E) [9 q. J; i+ j. t
var node=objs.item(i); ; q1 W |4 ]6 ~6 a3 W/ a
! Y( h' e! M! M* y9 n 4 u: F6 e2 i1 B3 W$ L
if(this.getobjstyle(node,"display") == "none" ||
" _$ z, {, y1 @$ u) m1 o% Z this.getobjstyle(node,"visibility") =="hidden" ||
" h$ y( X% o3 D# O7 ]/ ? parseInt(this.getobjstyle(node,"font-size")) == 0)
2 ~' _, G( D$ a0 {* _ a {
2 K7 N% `, F6 \6 `$ l0 c+ E) k* Q if(debug)4 y* q \9 w' W3 W2 l: p
{ W3 `+ m0 _. l6 \. R$ v7 E
alert("remove invisiable!");
% Z+ S o# e: s' Q$ m }/ A, k# K+ s0 N
node.parentNode.removeChild(node);0 b" C/ j X5 |+ F1 l2 q& X5 W
x& Z; R- X6 d3 ]
}
; c6 }+ a' |. B: l- r else 3 X* S t5 [2 A. E ~
{5 C2 l0 a; g% J1 ~' j
if(node.parentNode)
0 d2 N4 T/ N+ U; w; d: c4 \6 _7 k: j$ f {
: n4 ?) e% K4 w* g% } x8 l var orgNode=node;
) b# r. q2 \4 b# X var orgColor=this.getobjstyle(orgNode,"color"): D& N d+ Y0 ~8 H, e
var orgRGB=getRGB(orgColor);
, Q) n3 U* E9 W
7 y* o/ |" _5 s5 @- W% x" o/ t( | var parentNode=node.parentNode
, c! f- z) Z/ ?4 b var parentBgColor=this.getobjstyle(parentNode,"background-color");5 h {' x$ j0 } n' X m# w# d
) b( f& ]; Z4 W8 i+ }- B$ g var isLast=false;, K/ X. w7 q | L N9 P6 J3 @
# I$ o, Z0 ~' d% o( K% s
while(parentBgColor == "transparent")
3 Y0 t% y! P( K( C9 N/ }' m {* _- G' T* n j9 i$ x
# ~, E6 [$ w1 L" f( r 5 I' h" L, @- ?& o1 m- M- z
if(parentNode.parentNode == null)
4 F4 m; c/ L o1 v3 R+ B1 Z C! C7 C {% S; X( F3 _; Y4 X) V/ J( o* k
isLast=true;
4 W/ T0 C; Z( T# [ break;
; M; f% P/ | S8 n }4 i& g6 [! ?4 g+ Z( k
parentNode=parentNode.parentNode;
" b2 H& a Z2 k: _- J; z" U parentBgColor=this.getobjstyle(parentNode,"background-color");) t B- D" d' u' a) h& L, e2 O
$ l2 S+ I1 O' Z8 W' n! e3 a0 U
if(parentBgColor != "transparent") 1 b6 @8 c: \0 m- t$ |
{
& ] i, s7 s* a; _$ U0 E0 K0 o break;
1 H6 D! i5 |% b1 ` }8 R1 j( W: g6 P; [' o4 G
}
: D7 L. T/ }1 C# O# Q2 { if(isLast) ; b3 ^! g& n3 C" P( _1 u
{
1 S/ ^9 m* B7 J$ P, D if(debug)' M7 Y+ w$ K) ?2 T
{
$ s; V9 B9 @5 V/ t$ F3 X alert("last!!");
& Y7 E/ I: Q5 X5 w* r! p+ w } F9 v' ^3 l `8 A- K' a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# g6 x3 l- w; B1 m! v& U! G {
& p$ ]" v; ?* F# F$ v# u+ u2 ` orgNode.parentNode.removeChild(orgNode);
6 y# n5 o I2 t }
5 {; o1 F' T" ^2 J* S. _ }
' r& S# n0 E" o! j else7 V' b+ @; U+ O, g8 m5 B4 K
{0 ~' ?0 ?5 {- O: w+ J
if(debug)
: e7 L4 f( l3 e& `2 ^ {
, c% y3 I% J. Q/ A alert("compare color and parent bgcolor!");* c9 m2 S2 E, K3 L
}- z' e/ l: {' H" d- F
parentBgRGB=getRGB(parentBgColor);
( _) y+ u5 F! F' B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), H1 \; l: b* ~- ?0 I' |. b
{$ s, X2 ]7 x* t3 G& b
orgNode.parentNode.removeChild(orgNode);
/ ^2 S2 { H _' x" q! z }
" B7 W- I$ T% V! V8 g2 E }
4 P: `3 k/ B& ?0 t2 k' R0 L% j l }
) [* d. z, X3 a" L }2 r. k% M" v6 m$ E: W2 l
}
. _2 j, s3 b; S }% o7 F8 ?& n! |
! c" z3 N8 c2 V; P( S' e
* B4 }. w( _# q# s var itemFrames = page.getElementsByTagName("frame");: H8 P- A3 l3 V
var itemiFrames = page.getElementsByTagName("iframe");
: m& U) P8 u' r6 o d$ q$ h # `' i: {& Z/ J' A$ N9 Q
var frame, iframe;
5 B9 J0 h4 j7 b$ D* t& E4 C if (itemFrames.length > 0)/ E2 x8 X+ g* @, ]
{- o2 T- v/ F5 m' M Y3 H
for (var i = 0 ; i< itemFrames.length ; i++)
4 P. E, C: _4 D, H {/ y( h0 I9 Z4 S) L; e8 }- C& }5 }9 R6 O
frame = itemFrames.contentDocument;
/ E9 y: }/ z9 ~ this.RemoveHide(frame,objname); # G q: E, J& f0 X8 J
}
1 @9 l& ]* i- ~" \ }
4 `: |2 H1 p# D+ Z6 r4 k: L if (itemiFrames.length > 0)) F' o4 ~7 g0 ?: g/ D- N
{: w) d7 D6 U$ H1 F" G5 t& Q
for (var i = 0 ; i < itemiFrames.length ; i++)
7 J: E! { I# ~* T( S" q {
7 J( c. G3 i) K# O* L% m% y9 X iframe = itemiFrames.contentDocument;
; e, i5 x f0 u+ X this.RemoveHide(iframe,objname); . z, P/ e; O5 g- ]- t
}
" d B* Y6 S) S2 s+ h. j }
$ m$ }; k$ m% V- L, v5 \ }
9 L1 Z' b" r: B/ p5 z catch(e)& G" @" E& b6 }( D( _! Z
{7 G4 e8 | L, x2 j
if(debug) L% I( g5 B: g {' E8 J$ _
{, n! l; G9 t9 C. [, V2 J0 |
alert(e.message);: s T9 s4 l8 D6 i+ H7 t
}
& a. V" |/ q3 d }
: S7 O4 h6 F, {+ ?5 L- R$ I }
& W1 f( [# E$ F5 u7 R& O ) z5 S$ s, k: \0 ?
}: @. ~. i; J: n8 {5 t/ k( ?
# q- X% \# n' E9 m# Afunction getRGB(colorString)1 C2 O$ o+ T# ?" N3 N
{
& z* ?: C5 K6 Q# a% F var RGB = new Array;
/ G; H& g" v' p8 t/ X var tempSting=colorString.substring(4,colorString.length-1);
T' z8 f+ m0 y! v! i4 D) t6 {# j var tempArray=tempSting.split(",");
, v5 z7 b2 s* A& B+ n5 o8 k* `* @6 r4 L& h/ m1 y. @$ D9 a$ Q+ ^
RGB[0]=parseInt(tempArray[0]);
7 F. j' {* n7 r% M0 E RGB[1]=parseInt(tempArray[1]);9 P) ] N+ Z4 i8 Y4 x
RGB[2]=parseInt(tempArray[2]);) D" d/ K3 [' s
p8 [( F! T) ?( Y3 ~( A return RGB;
- p$ O( v8 V5 m' A# d}
( v6 \! H9 H3 r: R$ Efunction keys(evt)
8 S, b( t J Q# Q7 h3 o. z7 l5 I; ~ {
* ?. M. b% N3 e" E7 K( E" I if(evt.ctrlKey && evt.keyCode=="81") # W) d% u9 k6 n( R9 O. p( |$ [/ Z
{ ' W9 Y1 u4 M8 E! a9 s; N. D; N
CleanHideObj.on(0,1);
+ N4 S1 E7 Y ^& f1 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 V% i" o+ F, ^ & H5 H g% u$ p9 _7 F4 z- A
}
) p' @8 V: M' \5 @4 s+ e } 5 r6 s8 M) }( { \
document.addEventListener('keydown', keys, false);
% _7 B4 Q1 a1 _6 g8 g j1 A5 F% _GM_registerMenuCommand ('Clean Hide',
: d! P0 r% R- \function(e){% r: |9 i" {% ^& r, P
CleanHideObj.on(0,1)
: {, r% ~9 \) @% K* Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# u+ J" z4 O6 j0 W
});
( [4 z& [* K, Z5 @' B |
评分
-
查看全部评分
|