|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 w2 j/ }5 O- v0 I
2 o1 l( T0 e2 @( Q火狐插件,用猴子5 q' O: H) ]! [% s m3 m
3 c$ W3 Q, G) k7 H) V# ^/ B* w9 H- o- B1 evar debug=false; 5 y* A' H/ a6 ?6 c
var CleanHideObj=new CleanHideClass();. ~* s' d- i9 y3 }7 Q8 R
% R$ Q u* p# ^5 R5 w# D9 O$ z+ ^
function CleanHideClass() ( q' |2 T" q7 k# m6 y
{
, C( T! B( B& L" i( ^ , I! `& A+ V8 ~8 C2 ~/ s
this.on=function(id,bMZ)
* Z* b# v0 [% W" Y. b o) w* E0 X$ C {
f6 l& A" K7 D! \ 3 r. x+ C/ F+ r% _" A% G( C
if(id == 0)
) H9 G: p Q8 ` {
# Q* ^5 I3 B, I+ N* }% \7 o8 q$ L var page=/* document.getElementById("content").contentDocument */document; B% l; F/ O) l# z: A- i2 F
this.RemoveHide(page,"span");3 L' U/ U1 L( F* M: U
this.RemoveHide(page,"font");
3 O+ v( o% Y `' b( A this.RemoveHide(page,"div");
4 ?: `+ T! h) f0 V7 B this.RemoveHide(page,"p");
3 O: S0 v! z6 w) r- P0 d' M
; p( H- I) P% O% m. l }
. @2 T& _ y' x( q# B ) r' |% ]- ?6 K0 a- N4 S& e
}% g' E S* d, O
this.getobjstyle=function(node,prop)- }. O Y& B7 k: l3 G3 x8 C" q9 L
{; U' b) h. e* ^) A4 h3 Z. B
try
/ _6 Q# H& ?4 \" N1 I$ [2 x: a" j7 m {/ l: k: L1 X; p( W$ C/ V2 m; k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' \+ i: m; R/ O8 b( c4 r2 ?/ ^7 { }
" a6 X8 k5 y" O( i3 R: G catch(e)
* N4 j, y$ ~, `$ X5 P7 d) i7 {/ r5 S {
8 H# Y0 z! _( Q2 T9 k9 K1 Y3 X: n if(debug)) P$ ?% J8 {. X! {( ]! z
{; t- K1 S9 ]- H% b% w" O
alert(e.message);
) i8 f0 K( B4 ?7 q! T$ f2 m }
2 U# ^7 {3 l: z& w/ P9 [8 u) T" B
6 C5 j4 z; I9 \# e( b return "200";
2 ?0 o4 Z" |( M9 z }
, |' i! H' j% j2 i }( H2 ?, X/ X, U3 P
& r; v7 @. i, D0 r; ] this.RemoveHide=function(page,objname)
) B G: \: a# r: a5 h {
, X; k$ u- k9 H. Y z, D0 x try2 m# l' ~% N- F, J
{
- M8 p" n! g% G" y! u) x; M, u var minValue=15;
+ ~" p; A+ F& Q$ M var objs=page.getElementsByTagName(objname); $ b, G+ b' f: l# M" V) E6 l7 o
% ^ q; z- G3 i if(objs.length == 0) ' c% t3 m( c+ G& Q) V9 V
{- ]; t1 N: p5 Q! X! @+ G" Q4 I
if(debug)' j; }; b O2 A+ U
{
- {) M( _+ c$ A( v, U' a' q) i" {1 q alert("no object found!:"+objname);
$ J# s9 c7 i1 r& r }
* G" J" P6 z8 i4 ~6 ~9 C: N }
1 P! r+ g: U0 J4 [7 q- e else6 @& [8 ~: h4 i. p
{0 D5 [& a) K2 d# N3 H( M* u
2 n: |: Q) Q( X) e# y7 A for(var i=objs.length-1;i>=0;i--) 2 z" I- [) R, X1 q* Z
{
+ q9 v- [* Y! X: S var node=objs.item(i);
6 I, @# U! r) Z- o6 r: E# S
! l* u4 X* v1 B0 M) g8 r( W* B 4 P% P8 n1 u2 j8 g
if(this.getobjstyle(node,"display") == "none" ||/ e7 L0 M+ ^# [8 J! m/ G. ?' [. L
this.getobjstyle(node,"visibility") =="hidden" ||
- k3 h% L6 a* n* R' h+ _/ X7 L8 h, v parseInt(this.getobjstyle(node,"font-size")) == 0) 3 K- @8 N& [# K! N$ W' r
{
+ |/ ]% u* A2 D5 p8 r: Q5 N if(debug)2 ~. ?+ o0 ~" U. _% q5 L
{3 P8 u7 |" W6 m1 }
alert("remove invisiable!");
' x, N& y1 U+ `, U/ x/ t/ C }2 r5 E' m. n8 w, ?! l$ N( |/ N
node.parentNode.removeChild(node);
/ Q, ^+ [- _8 ~6 c& \9 H
9 O0 P z, D$ l# l" m/ R# S+ j }/ I5 ?$ ?; o7 n9 e' V0 P9 [) }0 O9 e
else
- ?! P! M7 p2 C) F, x# L( L {( Z& L/ {% P% e2 ]! u
if(node.parentNode) $ i T$ h+ a- T+ e# a
{6 J5 [' ~: Y' _% r9 W. Q6 v; \
var orgNode=node;! b0 v$ @: P2 U$ ~+ `# n) L
var orgColor=this.getobjstyle(orgNode,"color"): r @# R; S+ }! k" {
var orgRGB=getRGB(orgColor);
' l Q$ W; N: o8 f4 g0 c! \
; Q. B" B V* r- z var parentNode=node.parentNode4 J! o6 Q1 t" ^0 [3 T
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 V8 Z) ]* t# q( m0 ^# l m 5 i4 a2 L R0 |1 o* i! X8 }# \
var isLast=false;
; W& z% z- s A- ?* @' @2 _+ } M0 w' t
7 @- ^6 q o$ m0 | while(parentBgColor == "transparent") & R( D ~! i4 Q4 n8 z
{
8 P3 q/ N$ N+ Y3 ~6 C # N2 |. X+ j2 ?; b$ k6 c
. \& f. ?' S: \; \% }. B
if(parentNode.parentNode == null)# ~3 z- P! S& g! C
{
! f0 k: l) A1 G' H" w, u isLast=true;9 r/ {; e, X, i* ?' V: P9 B' {
break;
+ N5 O3 q& ?# G X u8 j }% h w3 S! F% z& c5 n4 h; E h
parentNode=parentNode.parentNode;- V% D* A+ _, C, _
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 [* R9 T2 N0 Q
# |3 g. g, x; l/ r, c$ s" a2 d if(parentBgColor != "transparent") - v- N& W1 }! W/ C+ d
{7 W: A! r4 D: U$ X; z, I/ L& f# G3 v
break;
3 u7 o5 s7 p) j: I0 G7 g }4 N A+ V2 U/ I% L- ~; L) y
}, V1 M. [7 G2 a2 `
if(isLast)
- U9 m* z+ z0 d# z; z {2 J( A5 T4 O9 ^, ^6 ~( [
if(debug)
1 X4 b& l, g$ ~* P9 x {- C& x& K2 N5 c4 n! ~- y6 p* m o
alert("last!!");# B8 j- u% m; d/ Z. f
}, c! ^ h( J' m5 i* t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* u0 x' X5 F: C# ^/ m \+ k: g
{
- N2 O5 k- I/ a# `" a7 F9 ?& M orgNode.parentNode.removeChild(orgNode); 5 J: _* ~+ F& H1 U$ w) c$ d. n$ Q
}0 @+ m5 O5 P9 J2 V6 z
}
) ?; P% n8 s; d& E else/ n5 z: N/ j3 k
{% I& X5 K9 Q2 P. V% h
if(debug)
/ x% N4 L( G+ K+ O% s* f {
# u" c t( H( Y; a: G& U alert("compare color and parent bgcolor!");
, \/ @! G* O9 _' _( @. N }$ J G n% h* {' Y" ]
parentBgRGB=getRGB(parentBgColor);6 Z7 f1 A4 T! \: {5 z) B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
r) i' v) m( Q7 ? {
7 b& d G. U4 V0 d6 p9 d orgNode.parentNode.removeChild(orgNode);
( \9 [& O: V+ ]3 A' k }4 r# K4 D/ O; _
}
; U( S1 W( ?4 o1 h$ B/ N: R' z% } }
, D+ s- ~4 k* }. H. s, k% i }# p4 C) q3 `# [4 U# ^4 w/ t4 x
}
: _, A0 @9 y, r }9 C( n- R( I3 e6 P& t- v6 P$ e
# l/ h& t. g0 y- E- ]: C6 v+ O
+ \6 x8 k+ d- C d) `( i F
var itemFrames = page.getElementsByTagName("frame");
" g5 s! L) z0 W& d var itemiFrames = page.getElementsByTagName("iframe");
C3 s9 d& G# A5 d- f8 r) E1 B
. N& A" O6 n2 t8 A/ Y2 \( c var frame, iframe;
4 ~; a! a% @. k, Y if (itemFrames.length > 0), u4 @+ S: N- ^6 g3 @
{
' v/ B0 z9 X$ e3 K6 `& y6 q% c) y$ A for (var i = 0 ; i< itemFrames.length ; i++) 5 b$ Q) B* V L7 d' R( S2 X
{
3 D% a/ x) B m' R5 D frame = itemFrames.contentDocument;
" S4 S# X$ p/ b& q! H8 w- _5 y this.RemoveHide(frame,objname); : M, n! q& k# k( K, L3 b4 ?) [
}
& }6 X- E, t. A( M }
* k) t" y2 `: e2 E if (itemiFrames.length > 0). C3 ?" P$ a1 U7 P g$ V
{% k9 ~* }4 C( B5 E* Z. @* G
for (var i = 0 ; i < itemiFrames.length ; i++) p. U z0 {, P) N5 `9 m
{
, |0 G4 l4 c9 ?! i iframe = itemiFrames.contentDocument;
# f/ K @8 M( L/ V @/ e) i$ J1 {) o5 E this.RemoveHide(iframe,objname); ( l$ m2 F: B/ F4 N! B/ [
}
. ?" @* u6 [% P, @2 _7 v* s9 V }
; @! ? L6 D5 D }
$ f) Q) R$ t- h. o catch(e)
0 `/ \. d6 q |; c {8 @" s4 J' ?- G2 P1 v X
if(debug)8 U" P2 r/ H( C$ f* X
{, }9 B! F6 W# r& A; Y- O+ r. P
alert(e.message);& p+ t* Y: w; \! E) b& Y3 I
}
8 Z7 ^8 n5 }! B }
3 h2 N! g; b& y O) I# ^ }
3 ]9 p( \/ x+ c0 p% b5 l1 R$ [- N + }. f: S5 E1 q2 F/ D
}5 m/ O+ E3 X1 c g
" c/ Z; f5 H K% F# Ufunction getRGB(colorString)
. @2 _- `/ W3 L G, E$ t* H{5 e. I2 l; x; N0 w2 o4 T. m$ U
var RGB = new Array;
) ^0 s2 o/ Y: Y, e& X# H q% w var tempSting=colorString.substring(4,colorString.length-1);
8 a3 a& P1 I2 a" F var tempArray=tempSting.split(",");
$ D9 S4 n6 e; Y$ i% P7 z& n( L+ f* e; H7 |6 m# r1 {6 s
RGB[0]=parseInt(tempArray[0]);
1 J, o1 K% ?' D q) @( t6 Q RGB[1]=parseInt(tempArray[1]);' o5 T) j# e) E
RGB[2]=parseInt(tempArray[2]);+ k% j. v. L3 B# d6 t0 Q$ c
3 E. Y1 ?0 ^* i4 C/ I9 [ return RGB;
* w H; {% }, [) b6 P; F5 ]}4 a' O0 g) A, b' P) d2 ~6 i! n* v* p
function keys(evt)
& X- J1 p' B0 j3 a; G { 4 }% z4 T. l; q* @% H- _* E0 ]" U9 }9 R
if(evt.ctrlKey && evt.keyCode=="81") $ _4 Y9 }1 f$ j7 D% x3 C
{
; a1 f; T- Q7 @0 X; ` CleanHideObj.on(0,1);3 d& P1 a% w0 p1 e' P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 z# t" ?9 N4 p
' O4 F$ D8 R4 \, c. k/ ?
} 2 U" }6 J8 r8 Z/ z0 V
} 5 n/ r# i q0 O: x
document.addEventListener('keydown', keys, false);
. _/ v E9 ?: _- DGM_registerMenuCommand ('Clean Hide',& i3 A/ s s) v3 t
function(e){* n7 R: {* I$ u8 B2 }
CleanHideObj.on(0,1)
3 Q$ y# C2 `9 D3 z0 kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 H' F- ?) ?& |) ^. Y}); ?+ G1 @ E9 p9 x; W; J- c
|
评分
-
查看全部评分
|