|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 y: B* ]. u) x: ?
: o0 G6 F0 L& R4 k1 {5 M* X& ]5 K
火狐插件,用猴子6 c. m' g' v0 D6 s" \& |# U! u
' H# [; T4 q8 ]! ]
var debug=false;
& X9 t- G9 B$ `& z" wvar CleanHideObj=new CleanHideClass();
: I3 u% Z, l; ?) A, _. S& g2 Z0 f9 ]. a% p1 B6 H, V
function CleanHideClass()
# i6 Y! G; z4 `& o& X{ : w9 A9 x! v) `2 c% P
1 F6 g3 a! [# k: B- y- O
this.on=function(id,bMZ)' t) y @" }, H' o L
{
( M$ Q; j( v* i6 A" \ - C$ z! g8 {) `0 g) [; H5 C
if(id == 0)
# O' B' [) O. R% G* ~7 _ {
/ g7 K5 t$ k* h7 q, n var page=/* document.getElementById("content").contentDocument */document; / d9 D& Y! R2 Z2 U; l% c" [
this.RemoveHide(page,"span"); R ^1 m4 j4 z8 G& |6 d8 S. Z: R
this.RemoveHide(page,"font");
9 k Z3 ~+ o' X: t9 \ this.RemoveHide(page,"div");/ y9 |" e( H0 L E7 z g; R
this.RemoveHide(page,"p");
, j ~( l( Q7 k1 Q. ?1 _/ W# D / k% t- u6 d* m7 z# h2 R; p$ C
}2 Y5 K4 l/ S. n$ J
( E" H1 j) ~- g3 l
}
* s, X/ r# E# y8 s( ~ this.getobjstyle=function(node,prop)- u& G4 _- s* \8 x# M6 j h
{) X0 q b1 @+ E4 s( M4 O
try
7 z% |9 q& I1 D9 R! i5 e6 { { B. F3 m0 N N, K+ h1 l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 L2 j) p0 A+ W0 _# C3 r8 y
}4 r0 p6 y6 t( m( d
catch(e)5 e- A: l- m: }, o* K3 ^& N A
{
, K6 y( W# |8 }: @9 ]; G+ A if(debug)
" S, b) {2 x' \! v: ~5 K( S8 K {4 J, I8 o& k$ x& M1 q2 k. y
alert(e.message);) V6 e7 R; G- @7 E$ v+ I
}' x1 Q9 k( B8 \6 B
( g! x8 i) a& Z- V: u+ a
return "200";
6 H, l& I" W) u* E9 y4 F! G7 E+ E }: R5 h% u$ @! s) f( V% q
}& x0 \9 M. R6 f
6 n. x- y- {3 ~) D# U
this.RemoveHide=function(page,objname); s- F% X- ?5 W( t8 ]
{! l- A0 {+ `! r7 O
try! n$ A' n: c! D. s8 U
{5 W: S- H( C0 N6 z9 j& H4 R; n
var minValue=15;5 r# O' C* C9 u2 N i0 C
var objs=page.getElementsByTagName(objname);
0 R8 k' W* e- i$ @; v% i, M% d2 T, {4 I$ e* f0 W5 k* b
if(objs.length == 0) , V/ e7 N7 x9 |$ H. `: l1 c
{: r9 Q. O8 L! M8 B% Z9 R
if(debug)% d! f3 L( R& v, Q. K4 U
{1 \) T/ g! g4 p' @, F, v
alert("no object found!:"+objname);- n( x. E$ n$ M Y4 K8 M
}: v8 i- x8 b' |9 e) {
}
# Z7 `1 R& B% X) D5 y. _ else, s$ J' b. J0 l8 Y
{& I1 F' Z- h! B" F$ Z4 x/ i
- D3 v. o. C& |4 F
for(var i=objs.length-1;i>=0;i--)
; K/ `: x% R. W) { { E5 U, w$ J$ I M2 n
var node=objs.item(i);
) S+ w( c* E0 ` I4 `5 f/ U" G' B7 Y
; u2 L `9 c5 H* ^5 L' R! N
if(this.getobjstyle(node,"display") == "none" ||
3 Q- D7 W* l+ Z' l this.getobjstyle(node,"visibility") =="hidden" ||
9 F# Y9 ?4 p8 \2 K: A; U( C& W parseInt(this.getobjstyle(node,"font-size")) == 0) $ J0 m( o% u/ z/ N; U
{4 M( q9 Q- V7 U3 i$ f- L
if(debug)0 a S/ e0 ^8 T" F
{0 P. h5 G% q! B' F- Y
alert("remove invisiable!");
0 y5 U4 c, ]7 L" d- z }# {/ }! a* C/ w0 b/ ^* p5 T
node.parentNode.removeChild(node);
: M" K4 l8 z( W5 G . u4 P' C8 A' `8 e
}
1 j% E: x8 H* I, s, t else 8 G0 S1 ]- n& E5 @' Y
{7 V9 b t" c: r
if(node.parentNode)
6 b7 B+ [5 u6 B' H) |$ D1 Q {9 [" g- a/ i; v( J7 L' D
var orgNode=node;6 g, x& H; b& @' [% k; x
var orgColor=this.getobjstyle(orgNode,"color")
* D" n' f) U M; c var orgRGB=getRGB(orgColor); : p# C% w1 H/ {* w# e+ x f1 v
, _/ @, q8 Y9 Q! j3 f8 M
var parentNode=node.parentNode) X( W) n9 F% A5 D' Y; L2 z, k
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 n$ s7 s: l4 S. V. _
) i. U# W( E" L6 d" h var isLast=false;) S8 G4 ^ h0 l6 s& a
- N/ m) i2 ], f; \2 m8 d* t
while(parentBgColor == "transparent")
& | F5 O+ X/ T6 e* y1 w; O {
- A$ D" t" A0 s `. ~; e6 Y8 Z 3 [1 O2 ]8 y' l- O
. O$ Y4 l3 l+ B1 m2 ^5 [! I
if(parentNode.parentNode == null)
) N6 a% h, b; \8 `: F) g8 D {# k3 Y+ c4 \0 B" e5 `
isLast=true;8 T" \" g, k' a: V( v; X
break;, z2 [; I: a$ C' O% A% ]* z) F4 X
}
4 K6 M' O) ^$ I) c1 T parentNode=parentNode.parentNode;
( M# P, @. p1 Y( I) D parentBgColor=this.getobjstyle(parentNode,"background-color");
, K3 f/ e/ s1 o/ m) Y+ f2 q; i. B0 ]
if(parentBgColor != "transparent") : v( |* ]0 H2 w2 Y+ e
{/ X, i2 \( Y5 c- s F' ?) x
break;: {3 C A9 Z/ ~9 ?
}6 \5 P( u8 H7 \7 d
}3 D- [$ D4 X1 ]0 `, b
if(isLast) : [9 ?) n0 C* _: P# n2 a) R( L i
{: q- b0 f; h' k2 n+ k
if(debug). ?: P: z/ D- D& s6 H
{
! ^& i5 D# W3 g6 R) @7 t: B alert("last!!");
7 h+ m5 r! d; s+ W$ Q0 ?% p8 c- g }
( v% B7 F; U6 S+ I- L. L0 q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: c6 n1 D3 T" d7 r) C0 _) o {
5 x% ^0 l; W& r4 }) V orgNode.parentNode.removeChild(orgNode); # p" `: X/ S8 M* O& I
}
& P3 D% d$ G0 s7 J5 S6 W$ z }8 p# \1 Z0 S# I+ h" d* O" C: Y
else# c! I7 h" @4 g( D1 H
{
$ h2 h# _$ _ r) p; m9 [% y if(debug)' v# `- ^" \! ? ]
{
4 T6 j5 \, ^3 j8 H: J7 F9 P alert("compare color and parent bgcolor!");+ i# K% W; a& J h% X+ y9 ~3 a
}
t! K" a4 ~! J' Q parentBgRGB=getRGB(parentBgColor);
% Q! T6 v/ z( E# m& F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 e7 i; v3 B. V0 m
{
& W# [4 N5 e+ Z orgNode.parentNode.removeChild(orgNode);
: E/ y/ A/ j1 @* U }# t' h$ ~& i: d. T
}- s! m0 ]0 ?1 W( F8 `
}
2 T5 i7 H! S, i n7 G6 R }( ] G; b. E3 M8 @0 j. N
}
% P/ C! q& x5 W9 f9 f5 Y: Z }! f- U$ a" G# V: T! {- q! C
D# I! f1 x! U0 ?$ q) B/ V
M" b8 c1 B$ t) i0 a* ?# ?! N
var itemFrames = page.getElementsByTagName("frame");0 `5 J1 }& h7 J4 @
var itemiFrames = page.getElementsByTagName("iframe");0 x, n* V! m6 Q+ ?
/ J8 C O; Y+ S0 b' p var frame, iframe;
: c4 W( {% c7 b) A if (itemFrames.length > 0)$ p& ^, R9 a9 z* W
{) U- a8 f( n7 w( A( ^# W) b- u! Q
for (var i = 0 ; i< itemFrames.length ; i++)
6 K2 r+ I- D2 H% f {
8 Q3 m; P4 V1 a. j# }5 k frame = itemFrames.contentDocument;" J6 K1 u- h" u, S# T
this.RemoveHide(frame,objname);
3 g: [1 E- P R3 ?) L7 D }
- s& z9 l( P6 p }
: E9 E: H7 G! I1 y( D if (itemiFrames.length > 0)) J1 N) f7 ]( `& v; Z; M: M
{
! P0 h& k I( j7 d% U# U5 R for (var i = 0 ; i < itemiFrames.length ; i++)
( z, M4 C/ T7 M {
) \0 p/ T/ a' ` iframe = itemiFrames.contentDocument;
1 C, S9 C2 s* K% } this.RemoveHide(iframe,objname);
$ a9 d) c9 d: X }. x9 v7 X) @+ p% l! Z: t
}; i3 l$ V( A2 I( u3 {7 x+ ~3 ?
}
! i8 ?! Y* D8 e0 E# f catch(e)
- z! V5 n0 a: b6 x {
" q; f: ?/ P) x7 f+ h& r if(debug)
* }2 K/ j1 H }; G: b {
2 k8 e, j. X; e" i alert(e.message);9 A3 B! N8 w) M l
}
2 Y) K ]0 z+ r' B- a$ F }9 C0 G& l5 i5 F- H
}0 k$ `& y& J2 v0 c+ q
$ q5 x: o0 L' G# `}
) w2 ?$ a$ p& B4 ` i9 K' N
0 C0 Y' g; w: c b$ X }' O) I3 R/ ofunction getRGB(colorString): O" O- L; l" _4 q; T
{
% J& v! j; t/ c2 j0 G var RGB = new Array;
, C' I; j7 e; s2 F5 k; x var tempSting=colorString.substring(4,colorString.length-1);6 @' k4 `2 [9 f& }3 a0 q8 F
var tempArray=tempSting.split(",");/ R/ w7 h2 c T8 K: @4 D( [5 F( n
' ^" V* x( s) U9 o- T; [
RGB[0]=parseInt(tempArray[0]);1 A5 O: t4 G o) x% ?3 z
RGB[1]=parseInt(tempArray[1]);$ S; P+ o/ o9 J8 q3 I# T7 n4 {
RGB[2]=parseInt(tempArray[2]);
; v. t0 E% V- d0 }
" @) r! T# }3 H/ @" e* | return RGB;9 p" P( i7 D7 {# P7 X/ U
}% T4 U( R3 i* K
function keys(evt)
$ x `) t4 d9 w; n* k, W" A { ( ]6 `- r3 T0 @
if(evt.ctrlKey && evt.keyCode=="81") 7 k8 v% v% o$ z& i+ z
{
% w4 P1 r! `9 X5 `& c CleanHideObj.on(0,1);
2 Z1 l3 H- T n8 w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 q, S: F Q" N, t
% S; Q4 E F. v/ i7 V }
* r0 @3 X% S! W' s }
3 L* L7 o* {$ M/ Y, \document.addEventListener('keydown', keys, false); - x: [+ u1 J* o; Q' L( D
GM_registerMenuCommand ('Clean Hide',- H# {2 G$ X' i/ T9 M1 n4 i- ^# z
function(e){
6 ?* [! C+ g* \! TCleanHideObj.on(0,1): I0 F# @8 `7 f! F4 y6 F7 D) h/ {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 Z8 p7 h9 s& C$ M: j});: i- G9 l o* X4 Z$ j2 K
|
评分
-
查看全部评分
|