|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ F) H7 I3 q/ o2 k1 f
' ^% d" `* G& G% f* Y9 l/ s
火狐插件,用猴子
c7 Y% u# |0 R9 u/ ?
' R6 T, k& @ X& m$ y3 gvar debug=false; 1 u; {$ Z, |$ |- V
var CleanHideObj=new CleanHideClass();& a' I1 Z j' i
. P6 S# `8 D' r6 C+ l) Hfunction CleanHideClass()
/ C6 f |6 D; J2 F' r1 ?{ j& {( A2 O- [ v1 C, f4 f
$ Q. q3 E0 F Y* Q# L
this.on=function(id,bMZ)
; L9 f7 v4 ~$ O2 }' G) j* r& ?) P1 K {) x. N% \ A# Z9 _ c' t/ {; ^
/ Z H- C, L9 W) N' Q
if(id == 0)
# @4 M1 |# ^7 O8 l {& Q1 q% q5 H& Z& c6 k0 b- N' g: @
var page=/* document.getElementById("content").contentDocument */document; 3 V! h' C0 t. C3 q- s
this.RemoveHide(page,"span");
. }6 p; c0 J. Z. r# z7 Q this.RemoveHide(page,"font");% L" N8 C7 Y7 Q. M! h
this.RemoveHide(page,"div");
7 n9 a- K3 o, E this.RemoveHide(page,"p");" I% Z& a3 `5 r0 c$ W
: W; ]8 J+ K/ {7 Z3 t
}5 }. n. d' N0 x3 R5 V7 s
: o8 J8 ~; d+ X1 L1 c3 g( m
}
0 a& L& F; [' z+ {- A this.getobjstyle=function(node,prop)
+ V3 b' g# M! E1 r% d {& K* p% g( j+ {
try6 G/ l& d5 n3 }" H
{& x2 g3 p8 k& ~6 f- Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! a, ]" r/ D2 S0 @2 e
}
3 e- L, L; Q. e& T- ~ catch(e)
: B4 W3 _. r& r! Z( I8 n3 \2 ?1 ^ {) `# O0 M4 K/ ~. `
if(debug)
5 {3 ]3 Y; m& r, h1 x' U: D {" f$ f& v' G% b9 \" H, w% ^; f
alert(e.message);, s3 i( D/ g( Z2 Q9 u9 `# S' K
}
( j2 [( F% M# h+ ]5 y/ @ # I1 j4 C: g2 ]: v
return "200";; T5 ?& O% u$ }* t" S! z5 K
}4 t u- K- T8 u' s6 G
}( K- y' v& H! E9 @- _
' N5 |1 f2 \# `
this.RemoveHide=function(page,objname)+ ~$ m# h4 ~' v* s8 A p
{
5 r; X8 x( n* B0 Y& Y try
" u' x1 u" }; P6 _4 c9 K. K2 E2 T {
% H1 D- f" G& ?# V2 T) j8 }7 O5 u/ B- R4 } var minValue=15;- F( c: l4 s: V8 a8 l* S
var objs=page.getElementsByTagName(objname); 9 x3 D/ ^4 k: \' N
+ M% |7 |& b& k! A# A/ N- s
if(objs.length == 0)
6 P- P4 {. _/ ]; q" r {
1 q! G: b" D7 ~" A, Q+ q5 _6 r# @! u if(debug)
0 B' a7 O( a( z. B {* K% R6 d. J/ c4 Z& V
alert("no object found!:"+objname);
& l% S7 [- }% T3 x6 a' A' P1 N1 h }
4 ^! j# U/ g( h5 k* L. H }
4 b- p. S" z7 ?0 S, O' i) Q) b else
: X! E( I3 ^* q# s3 ^/ G {
2 ?0 V% z( c1 r4 t8 |# `$ l 9 }- g0 M- f; V) s
for(var i=objs.length-1;i>=0;i--)
5 b5 a) _; u, D# c# Y; M- A {
% i* O4 T$ C) H: y var node=objs.item(i);
& {1 m7 p. ~' A& x5 b* y# k 9 Q8 G, W: i, V" \
: c/ B# a" C4 J" V' T( g: W: Y7 F
if(this.getobjstyle(node,"display") == "none" ||
. ?8 H' o- N+ m% q8 Y this.getobjstyle(node,"visibility") =="hidden" ||
; t, J5 r8 J( g parseInt(this.getobjstyle(node,"font-size")) == 0) 2 L5 K' \/ J) b2 p
{* U0 I# U+ L4 B* S2 f: t
if(debug)4 Q3 K2 }% v& [; e9 I
{
* j# [2 y& H/ A( d T1 ]9 s& A H alert("remove invisiable!");
3 T- x& Q* [$ B8 O }/ Q3 X3 g( L4 l9 o6 L2 q8 w
node.parentNode.removeChild(node);+ P$ e) w) }9 E i1 \9 @
+ ]$ P! ^- g- W
}
. ^6 ~* Z7 f9 f+ g else
# f( ?1 H; U+ B& d$ J {. a9 f. a+ ~- [9 n) h8 X
if(node.parentNode)
4 }0 @2 l1 i9 Q- r4 H2 z {5 S5 B# ` C. }7 y9 _0 R
var orgNode=node;& G" f/ r& }7 u2 x2 s( `. a9 h u @ `
var orgColor=this.getobjstyle(orgNode,"color")
$ }: T1 @& x$ u var orgRGB=getRGB(orgColor);
; N3 U2 Z8 L+ C8 f: L ! w# [! ^9 e6 K% E; u; u
var parentNode=node.parentNode
" x6 ]* I& O5 V Z var parentBgColor=this.getobjstyle(parentNode,"background-color");
% g" i1 }8 R3 e) Z& x J
% W( Q* Z7 p7 W0 a$ i var isLast=false;% ~0 _' w) G( k3 ~+ ]
7 F1 v l U+ L5 U( q- k while(parentBgColor == "transparent")
4 y1 ~; H# V1 X {
+ }6 ~) |- D. b ( ?8 p, h& } s6 F& i; d
q! F$ Y4 t$ ~" J8 B# } if(parentNode.parentNode == null)
2 ^- }/ X4 G- r/ X2 s, U) k {
6 E, Y3 D: [& A+ L2 \- F isLast=true;0 K! A9 q% U( `
break;
) ~4 d: |1 t. W# T" k4 _ }
) \) h/ w$ `0 H2 k' ^1 | parentNode=parentNode.parentNode;
! X' G. y9 g5 ? parentBgColor=this.getobjstyle(parentNode,"background-color");
! a7 p; G3 k% S" {* ]' r) j0 j0 I& |2 J" z
if(parentBgColor != "transparent")
! [) }# j, }& b# I) j0 ~ {) G; |* N4 W$ I& l3 w
break;
6 M4 a+ T5 p! R/ U: W @" z' B }
3 e. \6 N, T: k. x) C" h }6 l! G7 f$ D3 [- |0 C( ?3 L( q
if(isLast)
+ ]0 ?; h: P7 G4 K5 q$ P" n$ x {( D6 ^7 v' r) ?( n) S' \/ e# l
if(debug)
7 Z5 u( y, a/ H; F/ [4 W! V {
# \) C4 O- u( i( m alert("last!!");
, u$ e/ _9 Z8 ?5 h4 c* X, r- e }
1 f% e9 x' [. s* } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% Q4 h6 I9 t3 U8 e( \: Z3 L {
' }( J! L- R0 ~1 v orgNode.parentNode.removeChild(orgNode);
" P0 G) w& J7 Y% C6 l }
. v/ z8 s0 p+ `+ ] }! R' q6 x+ v* ^
else, `; Q/ c5 | S
{
9 Z, I& p2 k* Z& O; O& g* p7 C if(debug)
' u, z8 V0 r4 T2 ?$ h! d, U( I( z: S {
* I" f, y2 a7 F6 F, Q: d alert("compare color and parent bgcolor!");
$ o- m9 _ ^5 G9 K. u0 Q) U }! S6 {* s# @/ |7 ^8 w" |' ^& G
parentBgRGB=getRGB(parentBgColor);' g! o) q+ v' N7 x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ {- V8 d- l, [5 g$ z" ]
{
# j! ~9 j) X: w0 }; S( ? orgNode.parentNode.removeChild(orgNode);
R- E" X) W" l/ i( ~" n }
" D6 X9 O9 L* x$ C# I7 a# W }
) G/ m9 R, E* @3 ^5 C' p7 S/ A }
5 {& r; C- s) L5 r# [3 r }
2 t4 r% n% A3 O& Y4 { ` }6 T- E" W# x5 j
}4 B7 H) j! h5 J0 q7 {8 |7 a
k3 H7 z9 A z, K } 6 ^+ s ~: I) o
var itemFrames = page.getElementsByTagName("frame");
0 D4 e; S# a# z2 @ var itemiFrames = page.getElementsByTagName("iframe");
# J" x$ Z" |4 I; o* d
7 b8 F* `4 W$ k% K9 k1 p" J; i var frame, iframe;
; [* [( q& Z! A6 k if (itemFrames.length > 0)$ f% C; u6 f0 ~- W3 F- O3 x
{
8 q u. S1 x% ]0 H8 l/ n for (var i = 0 ; i< itemFrames.length ; i++) " |3 ~( t) V" Q$ w: C+ e
{1 |% T* b$ `$ c$ b5 s: e5 j
frame = itemFrames.contentDocument;/ |" P; l* R* J7 x- \7 L
this.RemoveHide(frame,objname); ; x& b, k+ O/ P( d
}
C) E. p% w8 ]) U" R9 T ^+ Y }
. p6 w7 ~# Q& I( j" w" K+ k if (itemiFrames.length > 0)
3 K' M2 ?, ~, b {6 a; k" k* }( q4 A
for (var i = 0 ; i < itemiFrames.length ; i++)
, N$ g& t8 W4 A& \$ d5 b) ^4 y {' y% @1 U8 h2 t2 g+ E0 i! g
iframe = itemiFrames.contentDocument;) A2 P e) o5 M# ~, U, ?
this.RemoveHide(iframe,objname); ; ~8 c' }% u- U9 x- W
}
& r, s% J$ F4 a! H8 `9 w* t } u' { F; f t: B
}
! {7 Y' {5 l/ s" W9 P catch(e)
& ^% \+ R" p2 x {. J% [* U+ U/ [2 t% z" S b% J
if(debug); C) N p7 t9 f ?+ h+ h
{
+ g- R4 V7 {2 R& C- ?* j alert(e.message);
7 x% x- ]8 T* l8 Z }
& F/ J3 F: T. w2 _% ] }4 ]5 D; _4 C! s) z& q' R
}6 C! \7 F4 b( v( W' h4 j# z
" d; v0 s* Z+ L
}
" V. s' X1 z& J! A" z6 i% k& I4 @( z( N0 }! g$ h- z
function getRGB(colorString)( m% N# {8 u1 r9 z
{ ~- M8 c, L# L
var RGB = new Array; H+ J2 u+ c; ?( w
var tempSting=colorString.substring(4,colorString.length-1);6 q8 \4 @0 A& Z% |
var tempArray=tempSting.split(",");
7 q5 Q) |- }' |& ?3 \4 A1 w, v( }: J8 f& t; U
RGB[0]=parseInt(tempArray[0]);" H; v" T; q* n Z. d7 N
RGB[1]=parseInt(tempArray[1]);/ X! A! H0 Z! \" l
RGB[2]=parseInt(tempArray[2]);
) W9 C! c) D5 y% v' Z3 ?
" M! ~, a2 U/ K return RGB;
! f& _9 x7 H* v7 p- i}
+ q- c* g7 W! v5 t7 rfunction keys(evt)
9 y0 Z+ o/ h) Z3 o4 H9 G; w P' @0 ? {
$ q- S& n) h* i5 M/ K; A if(evt.ctrlKey && evt.keyCode=="81") : k1 V' q1 d: q4 V% p
{
% I! h3 ?5 z" A8 P2 b; s/ Y, b& ]0 P CleanHideObj.on(0,1);% A: F) l8 s ~& g4 O' X# C( E$ J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 M8 r. H1 q- S8 h) V, K7 G % g3 m+ m! q4 L4 b( ]
} . }' w' ]+ x) J( b/ `- Y+ R4 D
} 6 w, e3 A! p, A7 J1 \$ R
document.addEventListener('keydown', keys, false);
, e6 V( S& j. Y! Z& M) H' V: [GM_registerMenuCommand ('Clean Hide',0 [ N/ v( B! e# W+ x0 a: L" g
function(e){
- ]/ Z- {+ u2 `, ZCleanHideObj.on(0,1)2 b9 ^2 P) _0 v9 Q" `: Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' \* A- y' t$ B5 l
});. I* o3 C( K& I2 _7 H3 I
|
评分
-
查看全部评分
|