|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; l' p) A+ O; {$ U- Z* g. m# A6 E' [
7 \' T( [% f8 @& f# e
火狐插件,用猴子
; A3 `: a, }$ @0 M2 T+ ?# W) p9 W3 @' Z& |! @
var debug=false;
$ ^' D9 }6 m$ b% X6 m4 `! ?var CleanHideObj=new CleanHideClass();
- T. t I! h/ J3 f* B# l
8 z0 f3 Y* l2 Nfunction CleanHideClass()
5 }- c$ A' @% G- U# L1 I{ ! S* i2 ~' ` m& {; w5 p) \
" c5 g( m6 c6 j$ K$ D, k% @ this.on=function(id,bMZ)9 a9 Q! c, @& x: T
{
- k9 {9 A. ]: ~$ l+ J1 E 0 t3 I$ ]: x8 U# ? p# ]
if(id == 0)3 d3 Q: B$ F: o' [$ {
{" p+ @7 L+ z) q( F' e
var page=/* document.getElementById("content").contentDocument */document;
* L C4 H1 X# `. M this.RemoveHide(page,"span");6 r+ k0 |- X4 U' w2 @9 E* h
this.RemoveHide(page,"font");8 u: L! o# K7 r2 J' H
this.RemoveHide(page,"div");
" Y V5 ~5 } T this.RemoveHide(page,"p");
( n `# d* A f$ M! l0 N" @; I
1 l4 \2 t P# a0 f6 J0 N }/ E3 y) z1 c7 ?& E7 K
, L% p7 C. W' k6 W: C }& I. D) i& Y8 p3 k( `8 H- w
this.getobjstyle=function(node,prop)
9 N% B% V- k( f0 ?+ ? { r7 U4 B W* Z$ e# A C4 p
try5 |) o% L% j* {, w3 Z5 W5 V! o8 h
{& q$ a- g: E s1 |7 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. c1 ]# j) V3 s7 a
}, M8 W. g' C/ D+ g- X* |
catch(e)
1 x5 e! O& ^8 Y6 E5 g) ]4 ]; @, a+ S {
$ h5 c/ z* x! @" H. S e( I& G if(debug)6 e4 a9 @; D0 g# L/ G1 x
{' ~/ I" o- E* w* d' B& p5 I
alert(e.message);6 a! P) e" A, F. j- y4 i
}
% _$ M5 A# S* m% O% p* J$ m M 4 i! Y0 l8 b! F. @, @$ {
return "200";
: A0 F# T& r1 r, G }
3 |! G3 D" h+ j. s" V* \0 ~ }
9 { I' A5 l# m6 M; K4 | % J& m* R9 O5 U
this.RemoveHide=function(page,objname)3 p( s% d, p% Z5 i7 k1 z M z6 w" Z
{
0 Q7 j i, u H0 @' K3 F) g/ { try
) }: J. B3 I) t- F. ~ {2 m. S/ Q) \6 `
var minValue=15;
% g+ A1 P( o& N r* K var objs=page.getElementsByTagName(objname); : @: w8 i& z; i. A2 `
+ A/ _0 e. Z- c8 j/ ] if(objs.length == 0)
9 v ]4 f* n1 m2 x6 K$ X/ E {- u, h9 S7 w" h; O
if(debug)# }: r6 l* P! S( }
{( z. Z) j4 h: [" H* k) o% r
alert("no object found!:"+objname);( d& R1 E9 R& B3 Q4 @. S9 Y
}& x+ Y" z) k+ J. L& R! j9 i
}
& k/ Q" T- G7 H$ K' z1 ^! A else7 |. p* h3 C9 |
{
6 [1 @# a" {& u& f( r1 X* f , E8 |/ o7 M0 y1 |. K
for(var i=objs.length-1;i>=0;i--)
% d& H- `( N9 x. x) t! Q {
) c9 b8 m" k; I8 l& v) J, C var node=objs.item(i); 8 T* R' R& X3 Z/ ~ v+ q
8 v* e2 y, O- Y/ g4 Z
3 `& I8 Q% k: @5 _( _ if(this.getobjstyle(node,"display") == "none" ||
9 U" H3 K! O4 U9 C! w6 H this.getobjstyle(node,"visibility") =="hidden" ||# P/ n, Q! Z/ \ m5 L* W0 Y8 }7 x
parseInt(this.getobjstyle(node,"font-size")) == 0)
: J9 r2 b" [( @! Y, r {
* U( d3 W6 {# m- X if(debug)
- x( Y2 y7 b/ o* T. S1 S2 V {% B/ g: d" P% R4 x
alert("remove invisiable!");
$ ^# Y) Q, x2 I* x- ?, n6 m }
8 E' V7 M, l9 g node.parentNode.removeChild(node);: z! a0 h# o, |4 Y/ H6 ^7 G5 A- ?
, z' c6 f& p9 f
}
/ M% h3 V0 w; U! a else
) ^0 _" x, e) o+ x {
. A- p0 l- N j% E if(node.parentNode)
y% `6 D7 q4 ]2 J% R3 U0 ? i9 b( U* C {
5 p( Q; `; t4 B2 G a var orgNode=node;
& L1 q. z3 e$ k4 }- t% ^/ [) y var orgColor=this.getobjstyle(orgNode,"color")
# e. c" x6 k: z+ Z- j& L var orgRGB=getRGB(orgColor); ! t, `* [ K P2 F% C
5 C" C, J7 C3 _! R7 k/ k% j3 l var parentNode=node.parentNode. z( O9 B1 G. t, Y+ `
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 L& {6 @; y, P
1 i9 h# N! d/ f+ q' k! L4 x* U var isLast=false;
7 ]; x& w, d; X9 t3 u" {* N8 | 5 h9 U4 G, d8 f+ O8 Q. O6 @
while(parentBgColor == "transparent")
: a/ J: K3 r! `* l& X8 s+ g {9 }& \- _- B6 B7 t+ }7 c* G5 x
$ c% U+ j/ [0 {5 D t" j
) H2 ]% E" n9 V ?- p Z if(parentNode.parentNode == null)8 a- k" \. y" A5 T& A% l) T
{
3 |9 U F8 K4 z" S7 X isLast=true;
9 \/ c1 Y6 T; e5 p' E# e _ break;
$ ]+ m: q- {/ e& y4 @* X }" G O. [7 n. x0 q% f
parentNode=parentNode.parentNode;
& r" a! }, M5 t4 D$ o( _2 ]1 B parentBgColor=this.getobjstyle(parentNode,"background-color");
8 v0 s% W: ]9 s7 c0 \
0 t' J4 `" a! X if(parentBgColor != "transparent") 6 K+ M3 J$ ^1 n
{
$ N# j+ }4 q- @- L! Z- T break;
4 E$ L4 u1 W5 @7 ^4 {/ D/ Q' l" L4 Y }
" y; a" \ g5 S }
, A6 @) ~& k N if(isLast)
* Y! U6 S) z1 b, H1 s% [/ V9 }- n {1 j- v+ B9 C% \; b) G' |0 f% B
if(debug)
3 X, w; ]# c2 w% z+ {/ ? {
. G; r$ R5 N9 V* L alert("last!!");
' c3 b. k3 z& _! @1 D }2 a3 L( l/ B$ O- l, K' B% C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), H w+ e4 @, t
{! q# j2 t; A8 X2 Z
orgNode.parentNode.removeChild(orgNode);
5 W% z6 [' r% ]# R7 g- X3 h% O. y }
- i/ o: d1 U! u w4 y6 Y y) g }$ }1 Y& X) D8 u$ t
else6 o3 W4 } E1 W
{- U" H" _" q, k% O4 k
if(debug)
- [) a e( v8 n: P$ k8 e) _ {
8 H) a4 q. t9 y' {( b1 N alert("compare color and parent bgcolor!");
9 [; N9 c: f, N& _2 W3 N }% n$ e8 k" f. [3 a/ s" R
parentBgRGB=getRGB(parentBgColor);! ?( Y- v) w2 }' J
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) R+ r8 b* U5 s: f$ ^2 T' ]
{( J% R8 t+ H* y, A9 {
orgNode.parentNode.removeChild(orgNode);
6 ?5 i- M. O+ H5 Z" s( ]% J# _ }
|: C4 j5 S* y3 i$ M3 T6 ]! P& ~ }, Y6 o) L% a7 b) c O
}2 i# ?. d0 S* P2 L# X9 k$ K
}
4 E6 X; Y& n3 D) `! p, { }( K- y& U# R" w9 U u) I2 i
}5 { w* b2 _+ x# O
# h/ o& ?0 L; s: ]- m
9 X( s* l3 y. s) e5 h% l var itemFrames = page.getElementsByTagName("frame");
1 ^0 z6 s- b1 I& a! K& { var itemiFrames = page.getElementsByTagName("iframe");
( F. s0 u- o$ _5 y0 b- J1 a, Q * f) @) \ {! x
var frame, iframe;6 S; O5 p! U+ V$ X6 P X" d
if (itemFrames.length > 0)8 |' Q+ f; q9 r3 s2 ?, A
{
, ]5 u `7 F8 u6 O$ N } for (var i = 0 ; i< itemFrames.length ; i++) & F5 b/ c# p' [8 ~
{/ P4 V& f3 B7 x) Z" p% U
frame = itemFrames.contentDocument;) P3 f% _, ]' N! m% N
this.RemoveHide(frame,objname); % W6 S3 Y7 s; R( C
}3 z+ o3 f( c) p- I) o
}0 A( ] q; ~" h4 G
if (itemiFrames.length > 0)
, x% b( F5 Q1 s+ g# W5 R$ b {
0 G K9 c7 g' n6 X: m6 f4 H for (var i = 0 ; i < itemiFrames.length ; i++) * b: d/ r3 {" T& ^
{. m9 E2 @& U9 d+ ^0 s* F
iframe = itemiFrames.contentDocument;/ I+ b4 H: X+ M5 Y) X, Z8 K9 @1 L
this.RemoveHide(iframe,objname);
2 u { S8 `& X% a) M8 I' Q" f }( S5 M `' U/ \0 G( h$ ]
}
/ x" h" o; U9 T+ J4 x7 i" W( k }7 g' m% `5 r5 i1 u$ m7 }
catch(e). J7 j8 A1 B$ _: l
{
/ |# `4 ~( G7 l% C. U! z& e if(debug)! ~( [3 D( ^4 X7 Q
{2 }. s" G$ v7 \) u
alert(e.message);# A2 K* h9 `$ |: b) i7 f
}! R3 }8 G' D8 H
}! n& j: N0 l, I0 A, {/ Q
}
8 b0 G/ _2 R* f# g! q) z
; n" A( N4 j* e1 b* m' S}
6 C* W7 y/ ~5 H( y% @2 s; U8 \5 G3 S r, ^* a- ~
function getRGB(colorString)
1 G6 b" G- i6 e6 G* K7 ~% A2 n{
& p' k, K! {# F var RGB = new Array;
* u& v5 H/ k; l var tempSting=colorString.substring(4,colorString.length-1);
. X t9 j) J( q0 x var tempArray=tempSting.split(",");
+ b h1 c4 p8 h# l5 B5 N' D" g$ N) B9 r$ a
RGB[0]=parseInt(tempArray[0]);+ G+ h. [, _: P9 D9 e
RGB[1]=parseInt(tempArray[1]);# [* e# z: r5 a1 `0 Z! C7 y
RGB[2]=parseInt(tempArray[2]);
- u* Q: x7 W2 l& t% s8 |$ G ' i3 }; x6 O/ U& h: E
return RGB;. ?" F) B( @. R
}
# Q2 }# q: g, \) E2 Q2 ufunction keys(evt) 8 _4 U W D9 @* q
{
e. n6 \& e- B" K" S0 {$ X' u if(evt.ctrlKey && evt.keyCode=="81")
( H/ Z$ q- ~: i5 o. S. m {
8 z9 _! d3 D ]" S5 R" w CleanHideObj.on(0,1);4 c& | F3 \/ z. f H6 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! {( ~4 M+ E- B6 T
. F- ?6 r8 {* g- S6 H" z5 y }
+ T$ `5 }' v8 ]1 A ? }
2 D- j1 \1 j' h9 P5 D! D1 H0 Rdocument.addEventListener('keydown', keys, false);
/ S* O3 }; {' r5 w' WGM_registerMenuCommand ('Clean Hide',( i5 P; f" C- b) c2 M g1 j' C& `( i; v3 V
function(e){
9 D9 c$ [2 Z+ m: U tCleanHideObj.on(0,1): ~9 x1 J% u8 P3 H; q% L& \+ h# O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ w1 }# y \% F$ D
});+ z0 t8 m9 l0 l
|
评分
-
查看全部评分
|