|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# ^6 Z6 A$ V( B5 f$ |. J9 C* A. {' @2 n2 O
火狐插件,用猴子$ C2 c+ l" f/ X. H. B" t \
5 s U- ?' T+ `3 Y* M( {! R1 ?% Qvar debug=false;
) y2 E, n4 `. x u3 D. ]* t9 v% t Pvar CleanHideObj=new CleanHideClass();
- d7 w1 ~( u# s' q$ p
3 x/ |. i3 W+ l. Q3 ]/ dfunction CleanHideClass() 1 Z3 d. l7 Q+ n- y( j
{
( n1 `- i0 e; [% v+ `& T( u, c/ o
. b; X2 u; S$ _) t this.on=function(id,bMZ)
. |8 a6 v3 K6 K {: ~! V ^ m1 U9 L
+ ?; I0 X* W- r5 I6 X, a
if(id == 0), |7 y2 t: T* _& l
{. d( O3 C- ^# T9 m8 Z* u; j3 M
var page=/* document.getElementById("content").contentDocument */document;
/ Z4 Y: N: F3 n* }* P0 C this.RemoveHide(page,"span");
" i5 j: ]7 z' T0 k, A9 T. ~9 E this.RemoveHide(page,"font");
1 j' v, [, P8 ^8 g6 @$ L this.RemoveHide(page,"div");( y4 l5 W8 g- l% i. }
this.RemoveHide(page,"p");
3 F( T% y, p" S) X
9 B b: r% S( ]+ o- A }1 _; n+ T, n0 O% V" d5 \. |- C
/ V( Y. u! a1 E2 ~* t! B7 |
}4 k5 Z, X* b8 S Z/ P
this.getobjstyle=function(node,prop)# b8 R) V: A+ E4 R
{
7 k( j) G; j! Y try
& C: e- S- l3 ]% K {
. g; o# Y3 u9 I- f; K: U7 C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! ]' L$ n# }( n; ?3 o% C }
1 b9 z1 c3 I3 N3 i. g7 S catch(e)7 I; R+ I* y* m v4 o r2 R! ?
{
3 D. |3 z) \# m% g4 g& I- y& A if(debug)7 V3 z# `# H9 x) `
{
% m6 m% s( S4 J; S* ]* N& T* ^5 e alert(e.message);
# |! Z) ?7 T* o) ~ }8 V( C! X% p, J3 D! i
|; N/ y* q. a
return "200";0 h5 D" O# f5 t" V: f5 _
}
& x: R* W8 I9 R. P+ H }0 x; B- Q' T* i5 [# c8 m, T/ X4 B
6 @" f. d( f5 U! P) W% o this.RemoveHide=function(page,objname), a z6 k* h9 ^4 s. w! c
{
0 ^/ F7 L- ~* X* [9 a7 z/ w3 Z, _ try f) b4 i+ e. T0 V y# v( Z
{
% _, U" B: ~$ k- n* D& H# M9 q& G! j6 s var minValue=15; G U q) K r3 H1 y I) {
var objs=page.getElementsByTagName(objname); 4 w) O3 E) _3 y
8 Y2 F4 a3 A0 J, y
if(objs.length == 0) 7 [+ r" c% K+ K/ [9 y
{
) S; g: x* |1 ~) p4 M* b* H3 v1 } if(debug)7 P$ W/ n5 u$ ^7 |
{# R# j. L3 H. C4 X& D1 g
alert("no object found!:"+objname);
! f- t4 v' c5 n* r/ z- L* w }3 F3 H& U, c# k5 y( Z+ A1 z
}
8 x) w2 s- N8 q4 p1 d- C; K& e, T: O& Y7 _ else
/ Y- Z: o6 ]' x; S {
, w1 t' Q; w" N+ d
0 k! k9 h6 c0 {( N for(var i=objs.length-1;i>=0;i--)
! ^, G9 f: v/ z6 j- Y# |6 K, O3 | {$ @: C( U' Q7 D
var node=objs.item(i); M& |; N: ?: u: G4 U& `
" {5 O O# ^( M) |
# ]" A. n9 R7 n8 y0 p8 w if(this.getobjstyle(node,"display") == "none" ||
M9 S+ ~* m6 h. Q2 F; C this.getobjstyle(node,"visibility") =="hidden" ||
! [$ l: c1 j% h6 d parseInt(this.getobjstyle(node,"font-size")) == 0)
{) M( R& `& M" |/ d {
6 E h- ?: w3 i6 d0 H( O if(debug). ~4 g: E/ B) W4 Y# f) P6 B
{
6 R5 e7 \- W- H- B; E alert("remove invisiable!");2 Y6 c6 K5 p6 B( t6 v, b% k
}' D1 T+ b+ G1 l& u
node.parentNode.removeChild(node);, {8 U t- K4 a9 m$ `* \
9 v' `2 M+ e7 R" I
}8 n+ k7 c( d& d
else
# C2 o3 t1 t5 D! F0 A7 s {
5 D& {7 m9 G: A7 o9 o4 u" A/ E if(node.parentNode) & v5 Z; i3 B8 l1 V
{+ K% L: M: \: ?- _" h
var orgNode=node;
& D# `. ]) d- {- b$ e var orgColor=this.getobjstyle(orgNode,"color")7 z% X: j- c+ }1 I) F
var orgRGB=getRGB(orgColor); & {# B* c% S1 @7 b$ Y* x4 V
% r% C" {7 q/ i. ^( y
var parentNode=node.parentNode
. v# C) C9 {5 f" f7 f- o var parentBgColor=this.getobjstyle(parentNode,"background-color");) ~, E ]2 Z7 g v5 F
; X8 m5 \+ Z' M! i' E$ B6 G var isLast=false;# o( v) u( E! U) r1 c
' @0 B4 D* B9 s8 ] while(parentBgColor == "transparent")
; }) R4 @7 @, U4 t; J+ L9 ~ {
4 G1 W* D" o2 W C) f
/ i! s1 u" A+ g7 g ; w7 }. x9 U. C& }) l G( Z
if(parentNode.parentNode == null)5 A9 k% K# y$ h- A
{8 z! n4 J- k, N* |4 Q; z& ~
isLast=true;
' d) Q' @* u3 c% K/ d, } break;/ b7 h, i/ d& P1 g
}; O) t& H% a% v) o
parentNode=parentNode.parentNode;' f0 b8 W4 ]* [
parentBgColor=this.getobjstyle(parentNode,"background-color");0 L, F( T, X5 @) j# u0 L5 s
- B0 M- p6 ?' O
if(parentBgColor != "transparent")
$ [- e8 w! l5 y! r4 Y' a {
' S9 D- u$ u. [0 y9 Q" A& Y break;3 h; A/ ^( o9 U' [% k! G! V
}
" n0 R2 L, K9 V, x7 z/ F1 } }/ P9 r; {! @6 I9 j! r" j
if(isLast) 3 i! _4 F% D6 i( r4 Q
{& {1 ~1 P4 U: q3 D+ s% H+ F
if(debug)
9 \5 S5 Z0 F& I4 d% L7 [$ O% c: I7 k {5 g- N9 V) \0 N& w3 g
alert("last!!");( r; \$ D! }0 E3 j. J+ A# ?! w% e
}
( ^+ g" K# e+ X$ K: L7 z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ k1 k" R; B* l) l {; r4 k2 t- E$ J
orgNode.parentNode.removeChild(orgNode); & q) C+ A% s5 G0 u) Y2 `
}
; A; c9 I( ` c% U }' ~; l9 A+ }" T# m3 ~) P
else
' |4 j: F5 G/ Z/ i3 I) D% Q \ {
; L" \5 F0 J4 x; Z- K. A' H# f if(debug), G$ i% p9 Q. w
{9 i: f- W6 {, C& J. J5 ]4 |
alert("compare color and parent bgcolor!");
& b: j- S& q* n0 @ }9 \0 }$ x- s+ ~# ~
parentBgRGB=getRGB(parentBgColor);& a8 D2 c7 g/ d; q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 P/ ^0 G; l1 `0 O: g5 V {8 ~1 n d9 ]4 p0 k. O \
orgNode.parentNode.removeChild(orgNode); & H) m2 q, T' d6 Y
}
. h2 `2 s. |% w. O6 [ }
! y. _. b# H. J$ F, f }
0 D1 o3 h5 ^" ^# o. }0 h. {$ u }# i8 {3 N3 c1 t0 T! s$ i: a
}" P3 B/ o2 a: j8 k) D- j, p% S
}4 S. _( Y7 z- _& X1 | X0 f0 H
, |, ^( O8 j* ~) O+ Q1 b
6 A2 M; E+ Y, J' J1 O var itemFrames = page.getElementsByTagName("frame");0 N9 ~! ]% N; L2 Z
var itemiFrames = page.getElementsByTagName("iframe");6 e% V) u# Y# j) L& m6 s9 R
* c. u" v- E2 M; k3 {
var frame, iframe;- a+ K: ^ c) \6 z5 G2 X$ X
if (itemFrames.length > 0)
- L, R/ w, N4 @7 U- B {9 ], t; v {4 v0 e; j4 N; A: W
for (var i = 0 ; i< itemFrames.length ; i++) : n% M5 H/ q6 z& x# E; O+ c
{
2 U9 u) P2 }' W; ~# a) c# ` frame = itemFrames.contentDocument;9 S* @" a m3 u7 G& P
this.RemoveHide(frame,objname);
/ \6 J# k! B; S/ q }% z1 Y. i% m8 A# L+ h
}
& g8 \( J0 Z+ O/ C+ e+ Q) N9 W! { if (itemiFrames.length > 0)
% p! G- z1 G: n' c: r8 G9 [4 @5 z {) D5 q& G" |( E. Q/ j( B
for (var i = 0 ; i < itemiFrames.length ; i++)
5 X& S7 m4 m2 N1 b9 ?% H( ^ {6 S/ n2 s# L. l4 [8 W
iframe = itemiFrames.contentDocument;
# T9 k& @- ^2 w. i% S1 S this.RemoveHide(iframe,objname);
: C P1 n& C, n }2 u- G' ~0 R5 ^4 T& O2 X) v
}5 ]: Y( {- X" Q v
} V6 ?7 ^: F' P& c2 }- u
catch(e)4 T" V( a- ?' m
{- Z$ z& D) H% w) H+ L5 T2 J
if(debug)) z& k N, z1 U0 j& x- Z
{
8 j7 V% V1 ~/ |& w4 G. w2 | alert(e.message);/ q0 X0 g, d0 ?8 w/ K8 l! H
}
# n7 ]# s+ N! a+ P }
3 u! M; B# U0 u/ K. d* V, @ }0 v: Y* @+ b L& R8 G9 S5 Z
8 T' k( p7 ^2 k5 x8 o7 m2 @
}
% O" H( N- g/ B7 P# h% }$ z7 X
) Z0 n: k& `3 d4 l) hfunction getRGB(colorString)# n6 g- G7 D- g% M2 |* X
{
% @! P/ I' ]9 U% F" M6 ] var RGB = new Array;& H9 o, f$ N! l6 G3 P9 V/ s
var tempSting=colorString.substring(4,colorString.length-1);" `. f, P9 \/ Z; x
var tempArray=tempSting.split(",");5 t8 S# T5 N3 i9 ~% y
6 X2 | I6 y$ V9 x RGB[0]=parseInt(tempArray[0]);7 Z, `. Q; ~! R
RGB[1]=parseInt(tempArray[1]);
B; t( s% S; v/ } RGB[2]=parseInt(tempArray[2]);
! G; \: O* {5 O5 j$ @8 Z
) q/ [% X* a, Q8 B# ^3 U2 A return RGB;. n" O5 m j4 T, A' \$ t; O
}6 Z: L* ]1 t) }- n% U' ~; X7 f; D1 P
function keys(evt) & c+ I$ s3 z1 K# I/ `9 q
{
& `' }1 E1 j( i if(evt.ctrlKey && evt.keyCode=="81") * _# Y. H# o J/ d; v( B1 ]$ |8 K
{
5 R; x7 Y3 y% V$ A1 D CleanHideObj.on(0,1);
. B/ v3 K3 L# v9 Q q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) L7 H8 E; Y5 a9 r" ?4 F b
( P1 H' p0 B4 q. o }
9 C3 J/ T8 z3 _( |% f6 w }
/ f; ^9 {& r3 Y' rdocument.addEventListener('keydown', keys, false); 9 r# f5 t$ D; m! C) [6 C
GM_registerMenuCommand ('Clean Hide',1 R d9 D2 N* Q" N* d8 ]9 M! r
function(e){- A/ n; ]8 g; Z: C% G- {9 g4 C7 V
CleanHideObj.on(0,1)
; j$ e; }% S5 ^. _6 }7 v) Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" \7 L6 H+ x, l& B& X. h! k
});: n3 Q+ e9 ?6 |: z" x0 T4 h8 W2 J. O
|
评分
-
查看全部评分
|