|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; {9 X, q- V! W' ^4 D- O* M+ R/ P4 U; P- g$ G1 j' R% q7 y; h( W
火狐插件,用猴子
. u( D8 |" g; k5 W1 l" S* X. A* X8 _" O
var debug=false; / L% r" F Y! T5 ?" ~
var CleanHideObj=new CleanHideClass();
- b f( l" B$ P1 B& V
4 V; Y- F/ S3 c5 [function CleanHideClass()
T7 t- j( [6 m{
7 X2 l8 R% x: H+ I; B8 E0 M7 o7 }' m9 K0 g
. i V8 m- |1 K1 p& ]0 c this.on=function(id,bMZ)
% x; k" T- @! N {3 z( J% D% S8 _, R( a
[! n( O, e+ [3 G
if(id == 0): D" Y5 N4 [0 t
{
4 O/ g& i% N2 V" E1 B: ~ var page=/* document.getElementById("content").contentDocument */document;
P; V5 c* ?. T/ v this.RemoveHide(page,"span");
( _" ~) l* A; h n this.RemoveHide(page,"font");9 b. S# f& M5 d5 A4 H
this.RemoveHide(page,"div");2 S% B" H, g' {5 {3 @
this.RemoveHide(page,"p");5 a: _0 \8 U/ o7 v i+ \& _
5 Q3 P& R6 G1 z: e. {6 x( W* z6 m }6 |& B$ x# Q! C
2 H* @6 b& v' Y
}
* [) r/ s) {8 p" V this.getobjstyle=function(node,prop)
6 n9 h: [$ Z$ z1 S1 J {, }! j% Y" I- n0 [; f
try0 V5 r- g. ~, d* Y: }/ k
{, Z! {% _, p7 A3 U% L# c( `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 \2 ^6 S/ K! V6 i/ ` \2 Z }6 e% J! }3 m8 d9 N& ^) S
catch(e)9 V1 H$ ~2 {+ j' E4 |: B
{
2 k2 r: O& C2 T if(debug)
" ^' y+ V# r& ]. y+ J* Y5 M {
$ d4 b8 a. o/ H0 C. Q7 I- g alert(e.message);, F2 I+ i: b8 y# e, ~
}4 x1 K, V. a1 {5 w0 P; q# X1 N6 i
2 h8 R$ z) D. ^, f
return "200";( g; f1 h$ b& n0 ?, h; E2 o
}* _7 q% ^7 E; c9 S% E E3 T1 I
}/ {4 k; A. r; p
s3 T. \. H/ `4 L8 ^" ? T
this.RemoveHide=function(page,objname)9 X" R& q) Z; Y" P/ H! I! T8 a
{( {5 q# s- P3 p; I% r
try# c- `4 v( Y* g) D3 o
{
9 Y8 |; E- G+ R* Z0 R. y* ^( |$ v) v var minValue=15;; {, S0 ?' ~; V+ a) O" D9 j- C
var objs=page.getElementsByTagName(objname); ; [; J, @7 |4 b( E
; u/ k; e. f( P% e0 \# V! _1 |) ^ if(objs.length == 0) ) B* w% D7 F. T" m
{8 g; `& b9 k6 r7 Z+ s$ f
if(debug)
/ e. q" W' y4 X+ N# G {
( I/ _0 B; G- @6 D- u alert("no object found!:"+objname);
0 {* v' n% {& Y }
* H: m x1 C% a, D* L: d }" j4 J) K& M% t7 e
else
7 }0 q2 l P+ Q3 t$ Y {5 X o5 q% G! A+ F U" [" H
6 |9 f$ B" A g3 ~8 M( P2 J4 }
for(var i=objs.length-1;i>=0;i--) ! n, C9 I z! l* ^
{) @) X# `& W6 a9 Y) G
var node=objs.item(i);
) U% R- z( [0 V7 m6 h( b
5 e ~! G+ G U/ h5 Q9 \" k
5 X$ @ C* S/ c! r- ?6 \* X8 M if(this.getobjstyle(node,"display") == "none" ||, V+ S6 V- V( e3 {
this.getobjstyle(node,"visibility") =="hidden" ||2 w& z; e- k2 r3 N- \
parseInt(this.getobjstyle(node,"font-size")) == 0)
* { C$ F4 }6 F5 V7 h3 x' [6 p+ D# y- T {
- o/ S" B; T0 u. O- h4 b" @ if(debug)
( X) E2 ?* A7 v9 K {' i1 G: |8 ~: S" N
alert("remove invisiable!");! Y/ N2 ~( [( l: l, q( ^+ C/ x
}
& D. b3 a+ K" t/ e, T" { b node.parentNode.removeChild(node);) Q2 w& o- m! b: q0 @9 j# N
; D0 d2 L% ?& _! _
}
" j' I+ e- x8 x" ?$ U* t5 O else 2 t# ^7 y3 A% {2 c6 R7 v8 n& t3 f
{) k2 r5 G4 k9 t9 Q2 A5 B
if(node.parentNode) - g& i. n/ X$ s
{
+ n: O$ f1 V" F+ L2 @0 {% a var orgNode=node;) G0 I y* r8 J3 M. m; C
var orgColor=this.getobjstyle(orgNode,"color"): o6 a2 ]% U; L0 n8 y' R( R
var orgRGB=getRGB(orgColor); 8 o# I9 [ x* ~+ k0 V5 S7 j/ a
. E' {& F# F5 P4 o3 x' R( ]& L/ d
var parentNode=node.parentNode
$ T: `8 I! f6 z8 d var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ u" I) y& B0 E4 v( o# q' Y1 t( b
$ a4 H- z2 V$ s4 Y- i5 U( P var isLast=false;
) |& J: S- V. l$ z4 l. v) Y* l) @ / I6 J: ?3 k. X* d: v3 S
while(parentBgColor == "transparent")
8 a" q7 q2 I0 h1 N1 L% o {+ F; A: B1 c$ U8 B: o+ j
6 y$ @% d8 E* |# { - \% b1 W$ e. C& l$ t) m9 s
if(parentNode.parentNode == null). O k: K& D/ S$ n
{7 Y2 Q/ \- w' f# ]
isLast=true; K( k' p0 j" ~: |) [
break;
; n+ x" b( \: W }4 b/ L/ c/ @6 |( O1 {: ~
parentNode=parentNode.parentNode;
( r4 K, U& |" {2 O9 h: X parentBgColor=this.getobjstyle(parentNode,"background-color");
% E0 }" R( b o6 U# e( M
# \& G. s$ I3 N- A if(parentBgColor != "transparent")
- \$ e2 t0 F E8 d7 S* i# g- K {/ T1 C: C9 D: ?4 F
break;: H2 X; x% a' ^- [8 C
}
+ w/ J d0 U+ b* d8 v+ I }
+ J% Q: a' L; f5 B if(isLast) & w' E6 j1 U0 h+ z
{
/ d. [! ~3 K* R+ n1 a- U+ v if(debug)9 A+ n$ [, D/ a; b& M8 z
{: q. T/ Y5 Y+ F" o& m# \
alert("last!!");
# R5 j, F$ k) [7 j" T }
9 I6 n. j* M4 J% B8 Q" ~( u7 V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. F8 u: f+ B" Q1 c3 X {
2 `9 ? {1 w/ D, O orgNode.parentNode.removeChild(orgNode);
. \9 a D0 i7 g }
@% r ~' X) L/ ~ }3 p; x# K2 u/ n3 S! W2 E9 h
else
* E6 h; N/ Y& j. S3 B9 Z5 ` {
3 j. B( z) C7 t' z. E if(debug)$ A z& ?6 h2 m2 S
{, H, j: N: a s
alert("compare color and parent bgcolor!");) o+ W6 E* v9 v, O& M0 ~3 b
}
q8 X Z+ N/ X& d: W# Y0 C' Z1 r+ N parentBgRGB=getRGB(parentBgColor);
8 N* z8 x1 h( o4 E5 k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 [0 q* O+ Q& F: L. K {) z H. `3 B' V; Y1 |6 R+ _* L
orgNode.parentNode.removeChild(orgNode);
' i. N& x) q# f }# j: z% f, L" V. v$ i! V
}1 ?7 C# v4 ~* _3 j* k7 N' n
}
% c7 G8 k& f" E! S$ Z }' @$ y$ k0 k! @. c
}) o, b' h# ]" n, h
}
" S+ y3 f. F% M& W
+ J3 \; R2 k8 P$ H( M, e , r- l, I) I6 y# a: p) X( S
var itemFrames = page.getElementsByTagName("frame");, c0 g g5 Y" U" ~4 R
var itemiFrames = page.getElementsByTagName("iframe");
2 q; L U6 ?6 V2 y a# Y 8 ]0 J; A: R. D0 E6 U$ z; D
var frame, iframe;! e) |) Y2 Q6 c
if (itemFrames.length > 0)
, W) A1 @# y( P9 }9 D {6 @8 R: L( B' p; i- [8 J D
for (var i = 0 ; i< itemFrames.length ; i++) 9 z2 ^* p7 `1 }* b
{
/ `8 e: F; ?6 L9 ~! u frame = itemFrames.contentDocument;
" e+ w M% E2 X H$ [( f this.RemoveHide(frame,objname);
8 q# s8 _4 T2 I p0 J2 o- w/ I }
" T1 C: ], Q' }/ q: W+ j) ~" O1 x7 j' x }, z* D/ }# W O
if (itemiFrames.length > 0)
& }9 Z N% I0 @ {
! ^' `7 B* A: _# A6 R0 u for (var i = 0 ; i < itemiFrames.length ; i++) ( N( a9 }6 {, ~. K! V; R0 @
{
0 v' c2 T$ K" F5 f9 d iframe = itemiFrames.contentDocument;
9 D7 u I; e$ A: ]2 |: `* ^9 r this.RemoveHide(iframe,objname);
: w+ x j9 s) F* q& | }; k. z6 f3 O9 C1 L' u
}+ m. h4 S2 r. H/ i6 E2 T
}
# R. W9 N2 Z1 }+ z catch(e)
# p4 b) I9 B. I {; _0 ^+ Q& D! H+ C" H( P
if(debug)% C2 Y* ?5 L% Q O. o
{
1 G$ ^* b3 n p! m; A* ] alert(e.message);7 i) i/ `( o' j8 | D% v
}
2 f' t0 J9 G$ y8 r }% t( ^) g' h' W8 q
}: y3 t4 {' m) o9 _; E- N e
+ J; v$ E% V9 p& B; j+ d
}
* F/ s* I( f2 b- D4 h
& m0 }1 N; [* hfunction getRGB(colorString)
' L0 N# P+ e. O \. R- ~{
2 J1 g! u5 V1 y) }! @) _ var RGB = new Array;1 c0 J3 Q9 H3 Y/ b! }8 d
var tempSting=colorString.substring(4,colorString.length-1);; o- X6 Z- ^7 Y; s, v- G0 {
var tempArray=tempSting.split(",");
2 s4 W U1 {0 Q6 g1 g, K" t: _( p2 m6 C
RGB[0]=parseInt(tempArray[0]); A, K$ q( P3 m8 U$ R. ]7 Y( N
RGB[1]=parseInt(tempArray[1]);
1 i' i. @5 ]0 U+ r1 t6 i( l RGB[2]=parseInt(tempArray[2]);
: S% m: u0 T5 |* O) y y4 n, @
- I- Z3 y& e( i% f return RGB;' z7 {8 F8 n9 y$ Y/ G/ @
}
$ p* Q& C, {7 ]' Mfunction keys(evt) 9 S, z& k1 r; `$ p/ q9 C
{
4 |3 d" [9 U) K5 G+ R if(evt.ctrlKey && evt.keyCode=="81")
: c$ }- L) E6 |( J2 c {
! H7 w3 d4 n- Q$ D0 r& @ CleanHideObj.on(0,1);4 t. W, V$ G) k4 H. Q& T, M4 H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + t' `8 `0 S7 _2 ~7 a, Q
2 G2 X: N6 o* X) i: C2 i, n } - B% K. J& o1 [% ^" x
} 2 i! D# H/ F; t0 c- @$ \: d
document.addEventListener('keydown', keys, false);
8 Y' _& D! a: p4 f& C2 J! b4 D! RGM_registerMenuCommand ('Clean Hide',
$ y8 L- _( A8 n% g! j% [function(e){
, D, M F% z. ]0 y s- `) `CleanHideObj.on(0,1)
, k# ?) C# N+ ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 A' M6 \2 D6 H});0 e; `0 L# V$ s }4 a5 Z7 N8 u
|
评分
-
查看全部评分
|