|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 S2 a. U) ?+ Z, e- w! O
: q7 V9 m! A0 n2 J( @; q! d火狐插件,用猴子- b/ U0 q& y. ?8 @3 q' {9 l
! m0 x) h# P3 d9 h) w! d
var debug=false;
. Q( Q. m7 I) [+ I6 N* ~var CleanHideObj=new CleanHideClass();! X& _4 t3 e0 p- h; L
* s! S4 k6 o1 [) a: J$ hfunction CleanHideClass()
3 k3 u) x0 r/ \! P$ ]- b{ 1 A' ?' q K2 O2 D
- {- U/ D) X% P# w) n7 B this.on=function(id,bMZ)5 K d3 l5 ~8 [" f
{3 Q( P1 K5 g! p, C
( [5 i- B" [4 O( M. G. x
if(id == 0)
+ |+ _) U# H- m" i- Q {
( O) m% u8 t5 [/ }2 d2 p var page=/* document.getElementById("content").contentDocument */document;
z# X9 K; b: ~7 o" z this.RemoveHide(page,"span");5 c' V# D! z6 ?* Q; \# m
this.RemoveHide(page,"font");1 ]: ^7 w G u
this.RemoveHide(page,"div");! i5 K: X8 d8 w! F( x4 [3 f/ X# x
this.RemoveHide(page,"p");
% x9 a6 v, _% p2 N: j' ^
, _/ Z' |/ H! v: ? g8 E2 O }
9 p, R$ Z- b+ w 8 t; F, X- }) v" k# x: }
}
2 s7 f# D8 V* j, d: l3 G/ g0 k* g this.getobjstyle=function(node,prop)$ P5 A" h2 J! T; ?( E$ K
{3 E5 B$ f8 f8 o4 I2 N2 L9 F
try
: e" `) W$ S, b) d; Q3 n {
2 B- W8 w F% c! h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 v9 m% J) |& z! a1 M
}3 c' L) }9 P1 W. r, p6 E) K: C
catch(e)
! |$ k% k- U0 e; b# Y {( K2 i: a0 h" z) q. X% c
if(debug)
8 U1 X, z' \1 W. V1 T0 K3 X {
8 U0 D# ~7 K: f4 [& y7 T alert(e.message);* z( c# n$ B7 ~7 @7 q
}
, {4 w y' [) M7 P+ x6 C }+ u ( ^) d& g) e. d; v
return "200";
) ^8 Y T4 r+ w T }+ A( Q8 J6 o: N, V
}3 Z: i* h3 w) C* |1 z6 k% m
% s! Z1 C \* A- G. h this.RemoveHide=function(page,objname)# W3 P8 y3 r( _5 T o5 V
{
' j/ P' w$ \1 u- R ^7 }; ^+ r. f try. z( t# m9 E4 H4 E! C7 l
{
# i w p- E) C/ l& B var minValue=15;; e! S9 N) B7 o/ Q/ q) G/ a8 S/ s
var objs=page.getElementsByTagName(objname); 1 N: d' G3 i% i, u
$ m, {/ ~4 L3 ^! ] if(objs.length == 0)
- Z* p1 H4 d" E' o4 X7 F2 J" @- f {6 R3 v7 i. F& w w
if(debug)8 c+ @7 J0 C7 P5 {8 O
{- g" ` t+ K6 A+ s) r
alert("no object found!:"+objname);
, x; p' h( l2 t4 ` } N: K$ e& }7 \8 V
}
8 L) f$ q4 r* N/ M4 E else) F) ]. }' E* t, ~. a) g
{
6 m @- z3 L* h" V, h0 f
8 D# `0 N8 T1 l+ [* {/ x: [ for(var i=objs.length-1;i>=0;i--)
1 R: D8 N. J$ c! I0 l' u& }1 v {! c) T- ^8 X+ P }, r
var node=objs.item(i); 4 n( G2 x! m& {# e
+ y& q2 A' X$ u& M g
! M& K% c2 T! e/ H if(this.getobjstyle(node,"display") == "none" ||
6 K2 g( E1 G7 C1 b this.getobjstyle(node,"visibility") =="hidden" ||
6 X' c# ?$ j, P, X, \' C7 Q parseInt(this.getobjstyle(node,"font-size")) == 0)
: ]; L, ^. a* J2 ? {7 b9 S- M& M; j$ ]* _ I
if(debug)
% E7 Q9 w3 R4 U- M; F {1 k( r7 Y$ E( m/ z; R! Q
alert("remove invisiable!");
7 ^ h/ ^0 A+ A9 C A }/ }/ V/ K( c$ P
node.parentNode.removeChild(node);
6 _/ t) F) m/ l" c. s4 n/ |2 ? c. Y0 j; L% c! i' N' k' r3 k
}
! `% Z/ B5 p8 m2 f- ? else : Q/ q2 X( ]: S. Y
{0 A& N6 r+ c$ r% m/ H
if(node.parentNode)
5 ]. l% G \" v. b% s {
0 V) x" |/ k. \5 \ var orgNode=node;
* ^( [0 a2 C7 i, h( H1 \ var orgColor=this.getobjstyle(orgNode,"color")/ F; X0 } E0 b2 d' f5 n; s
var orgRGB=getRGB(orgColor);
4 M# Z0 h# I- @5 d, c. R! P. `) O
/ z- ?8 g& ]; k var parentNode=node.parentNode
$ N" l' w4 ]1 w. c) [1 m var parentBgColor=this.getobjstyle(parentNode,"background-color");% E+ m! x+ { D/ k* ^0 U3 d$ A2 v
% _ ^4 j1 P# K var isLast=false;
$ i Z9 `% w* G
* m5 P9 @/ B) Y1 Q) O% Z while(parentBgColor == "transparent")
0 h( ^# O* q/ D9 }0 c' E/ j5 } {; D% t$ H/ p+ w7 U# y
5 _# ]0 x, u2 c5 B2 N0 F
4 k% H/ t' D1 y' I" ~1 x" M0 ] if(parentNode.parentNode == null)
0 G9 x% d2 C$ R( D, Y$ m0 H2 ^$ E; ^ {# |4 e% ]% c0 Y# h
isLast=true;' Q# Y6 a5 |3 b. G4 ? O
break;
5 h- V6 W, o3 B }
3 _3 }9 K+ T5 N# g parentNode=parentNode.parentNode;
! W6 W/ x- A( v parentBgColor=this.getobjstyle(parentNode,"background-color");9 ]7 l' X1 I% {- L4 j" M
1 M, D6 [3 ?* N7 [ if(parentBgColor != "transparent")
+ w: [, B+ s0 v/ W" j: k {
0 K1 i3 G$ q* j! K8 s/ N* N6 M break;$ b8 i+ K% ]- f) O) q0 z
}* M4 H: B; a6 u2 x h8 j+ n
}* r( ?% _# ?, H0 G% E$ ]3 ]* P$ t/ Q
if(isLast) 6 m {! c8 s# m( J: `6 K* x( S4 b% s
{3 e# b6 a n' M- O5 e, v
if(debug)0 \/ L! M9 P3 R6 L& Y+ i% r) k+ U
{2 G5 i/ C9 T! N6 D; _4 X
alert("last!!");
9 t. p& k n8 }: J2 J4 H }
, _( h5 S) m% H7 A8 c% G e w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% ]$ I; `7 k! e6 i2 h {9 p7 Y. m* x* U
orgNode.parentNode.removeChild(orgNode);
3 h: I+ J; A4 [' H$ B/ i }
3 A5 v9 d- a* g7 [ }/ M) m% R, @$ q. M
else% b: i% u6 R* ]: a/ B' [: s& H
{+ p m: n2 V9 q- e5 b
if(debug)8 b2 c" o- }& d
{
$ {& t- X% g: B' f: H. X6 s alert("compare color and parent bgcolor!");! X' W% C, ~$ h9 d1 J1 i9 K% i
}: A" M+ O7 d8 x# K( C5 F( R
parentBgRGB=getRGB(parentBgColor);( \& u T3 d+ |* H# U4 N9 a, K9 C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" n; R/ ~4 b# \6 Q% [ V6 z1 K {
8 t1 w8 ?$ q0 m/ Z6 v' d orgNode.parentNode.removeChild(orgNode);
8 E: o* U( X4 y& e5 P* a }0 W! m# x1 _# }3 z2 ]
}- q# U" h' n1 k6 h
}' u7 a g$ g- `2 X/ `4 g& y- C. R
}; T- X+ ^( H2 z0 F! A, |( t' J% ?
}% j* v' N/ y7 a: [& l
}* Y ^( j2 W# L4 j5 U, d
% d9 P1 I \+ Y( o( F
7 y% r) Q% @. N) N+ L% N# Y var itemFrames = page.getElementsByTagName("frame");2 F% \1 u; B" W( A5 s* }
var itemiFrames = page.getElementsByTagName("iframe");
. V8 p% S& @6 M2 {* }# W 5 b3 W; w$ ~) k$ w: A, Z* X
var frame, iframe;
1 l+ {) Q, e; B if (itemFrames.length > 0)
: n; h5 Y- v* \% y {
, }! u- d; Y0 u: c! \ for (var i = 0 ; i< itemFrames.length ; i++)
4 _' f; H( d* w( e {% }) V3 F1 k8 i9 Z9 C0 V) R
frame = itemFrames.contentDocument;8 T( y4 K, P" H9 Y5 Q2 g( k# E
this.RemoveHide(frame,objname); 5 t2 P: q$ J3 L5 ~3 k" E |; ]% P
}, N8 \( t6 u- l' u: s+ s
}- Y1 s9 h s/ v1 f3 l% }0 c
if (itemiFrames.length > 0)
1 g3 l1 C4 ?4 m. x$ H {
7 f( X' X. v0 w8 x" G for (var i = 0 ; i < itemiFrames.length ; i++) + n- n. q* N' j* I. b7 }5 v
{
1 ~# l+ G6 u" Q& S5 I c iframe = itemiFrames.contentDocument;
# t7 T( Y& y6 S! w& o% g this.RemoveHide(iframe,objname); / V; w" w0 g ]/ _1 p5 L* x2 A
}
; \; B# y! F* P; } }, t8 _) b1 l4 e* R! ?
}2 O! C' T/ z# M
catch(e)
3 D1 ~4 _, X' n) h {! w1 G. l! _& C& B7 r
if(debug)
5 d! x, \5 R. g% I% m7 z7 E9 X {; ]$ V. S/ a! {; P8 {+ \
alert(e.message);
7 ]8 l+ m% o% G5 g6 c7 v }: o3 f* q/ C( J( h1 T9 e8 Q9 g6 M
}
4 }0 v* P5 R: B% E b3 K }
1 q/ ] ~+ {% k, y, E, L ( |# E- j) h4 ]9 U d; K/ c: k5 F
}
" k' u" Y+ ?8 N4 ?" R' W% [
) r+ q5 G9 U0 nfunction getRGB(colorString)' X, M3 R( H1 K' f, b
{- O, H8 m3 _# j1 O; c, n5 [, I4 o. p
var RGB = new Array;1 T: `7 h+ Q+ P; a w J A
var tempSting=colorString.substring(4,colorString.length-1);
- f5 J# N# N! L" F. H( R0 m" m var tempArray=tempSting.split(",");1 R) G% O4 |& N+ m
6 M. I- v6 S' G: T. M5 h
RGB[0]=parseInt(tempArray[0]);
+ j2 ^$ E2 {+ h( P, n; X3 w$ K RGB[1]=parseInt(tempArray[1]);9 n- P# v- M5 ^+ u, M7 G* Y
RGB[2]=parseInt(tempArray[2]);
0 ~3 {$ X8 J- ]8 d2 s + R. I, b0 `* |! [9 R1 d/ |* i
return RGB;
% G/ ]8 |0 o0 z" c& y: B}6 j4 H3 Y B+ O& u4 d1 l- R
function keys(evt) + \8 c# V" }$ j3 {" j' j* A
{
. V5 S1 K9 M' u: S; O, L% c p( P# z if(evt.ctrlKey && evt.keyCode=="81")
& a/ T) F9 k7 @( @* Y& y { 4 h2 n" e5 N8 U5 m% ?# p0 [
CleanHideObj.on(0,1);
' c0 ? K: X7 p! {* F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 x2 P: v- P5 \3 h
4 a- ?, Q; f. T# v3 l4 ?, f/ a R2 b7 i } % ]7 l, d2 C2 T
} $ R; n5 m+ F+ [8 ]3 @0 a
document.addEventListener('keydown', keys, false); + g7 {5 m/ v% V% O; l1 `
GM_registerMenuCommand ('Clean Hide',) a( \" ~8 K( l8 f4 Z) m- ^
function(e){2 L7 {7 g" {8 @! z& s
CleanHideObj.on(0,1)
5 N3 Q% [5 N6 i; O5 K% V9 g- qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" f* [' u8 k- u( e+ q' n* L# F});# L, c+ i7 l. t! B7 ]+ \
|
评分
-
查看全部评分
|