|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& W% U% f; F0 q9 }1 [4 W2 G4 X& T* p4 o1 ^/ X i U. {, l
火狐插件,用猴子3 j$ v, u+ a7 h3 A& f4 c
# H0 v8 I* ~7 {, O3 M6 Bvar debug=false;
3 p5 z/ H& I( yvar CleanHideObj=new CleanHideClass();
- |9 `$ B0 x$ P" x" N m E
# D3 C2 R9 u+ C8 ? `8 y& h- {function CleanHideClass() 5 {, J( w+ D9 z1 j0 ?$ _
{ 6 o8 {4 d3 o0 Z! C
; M6 x/ m F. W' |& T" d
this.on=function(id,bMZ)
) ~( ]! A7 t! O8 t1 y {& O. o$ a" G/ g* h" J6 k' j4 ?
( D( q, j) p; |9 N6 Y; U9 [
if(id == 0)0 D9 k! _3 I/ P1 [ k
{) P0 J8 g! K1 x+ V' h
var page=/* document.getElementById("content").contentDocument */document;
) ?& l- }" ]( B, A: N, _8 t: F$ O+ f this.RemoveHide(page,"span");
4 y" s# b9 {$ B( |+ U this.RemoveHide(page,"font");
6 k' E- M+ o$ W this.RemoveHide(page,"div");: O4 ^, o7 P- E$ O8 R+ ^
this.RemoveHide(page,"p");* H/ j. Y. K0 v' O+ o
, O( u0 D5 L( M/ c4 D3 k }( U. W. `" A' T3 q- A8 | _3 r7 Z8 V
1 U3 K% [8 j' E5 X* H0 U$ o* ?
}( q+ x. A. ^' ?: E4 k
this.getobjstyle=function(node,prop)
* i! X2 {, d! M/ e {
' l! J' j; Q, x8 Q) {8 k try
! n, c& s% ^) d: j, U {
6 S- u$ z$ q& L5 E0 h* h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" N0 X, @8 J& ^ u" G. \6 Y }
5 C+ x& A- E: b, V6 ?& i catch(e)
' U/ k2 [$ ?' b7 }0 v: F' p {) W" P" e! L4 K6 g( b
if(debug)" V! P5 j& j8 l4 a# k) X
{
, |9 q% @5 f) p8 |1 P$ Z alert(e.message);5 s" v6 _" Z/ W* @8 P @4 d! I7 D
}
) E) g3 ]/ a' A3 p & k ]- V# N7 h! L1 j
return "200"; _0 v* c5 D, A! |
}' r4 P& N6 H7 }( Y1 [; J, V( K5 b0 n
}. U/ N- L! O) n) q4 y1 M0 Q+ x7 Q
& k |# ^7 S4 O" A, J8 g
this.RemoveHide=function(page,objname)
/ W1 ]' n' n0 f; i. h `) a7 I: \ {
- l ^6 f0 E% k8 y/ L( |! ~- g try
/ J+ t+ M# x4 Y6 Y* H) y1 W {# u/ S" N3 {4 j& \) K
var minValue=15;
4 C0 r6 \6 O0 T9 o1 V6 V) Q var objs=page.getElementsByTagName(objname); , ^! b7 W) g' y! }
$ c( \6 n% X% _; g if(objs.length == 0) + I1 @6 ?5 Z5 l5 ~5 [
{! W2 u6 c, Z, I+ W& ?9 `
if(debug)
4 g2 }( y' R3 m2 ` {
^ G- b. j: E5 w alert("no object found!:"+objname);
; V' s' N* b! e, x }
$ P9 F5 u1 F( z& S u; F }5 D9 f; u' Q# u5 @3 `
else7 w; }& I; E2 Z1 s: ]
{
9 E3 [ _: K1 Q4 P+ C# D/ q; I$ t 0 G8 Y, P( C* I7 t" T0 G
for(var i=objs.length-1;i>=0;i--)
* q5 p" D# I, y {( P0 f% D* B7 Y. m- g8 p1 o0 n
var node=objs.item(i);
' \2 K$ z; _+ q# F: U& z5 b9 M! r- a # l& D, t! w6 J3 ^/ q
( h7 m7 L4 R# U& t+ |
if(this.getobjstyle(node,"display") == "none" ||* |( r, f& j0 f! X- p
this.getobjstyle(node,"visibility") =="hidden" || L2 }4 c: c. m6 q
parseInt(this.getobjstyle(node,"font-size")) == 0)
! B( d5 N8 G, k* k- C0 i {
/ Y' A- t& K- m$ z+ n0 o9 S if(debug)( }( X5 ~5 U$ @* p* h4 ?4 `
{4 @9 Y7 `6 ^4 m* m
alert("remove invisiable!");1 |, ~: o$ G8 ]( V: K
}
& n" S- Q- u; L( u( M" a5 r8 } node.parentNode.removeChild(node);
$ v) ^5 D, L2 V# h. f: t% {5 Z* R& {
" @5 {. v7 Z3 d. S+ I. I }' I! `$ R3 D5 H2 Y3 @
else 9 B. z- a9 O) y1 C& ?+ A
{/ v* z' o& a' h/ n3 n
if(node.parentNode) 1 _9 j. E* M# X/ A* ]: j
{$ C/ v0 m. d0 ?5 O8 c
var orgNode=node;4 U% E8 F4 {7 }. F# K$ X ~
var orgColor=this.getobjstyle(orgNode,"color")
1 k# w! b/ E5 ]9 \1 _' u var orgRGB=getRGB(orgColor);
7 ~+ t! v. Z% n+ p% q/ [ # A8 B7 A! k, y2 c. d5 R
var parentNode=node.parentNode8 y W8 O4 [9 L0 B3 k- k
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# F+ W9 x, o4 a+ j
, X6 n+ `9 {' v4 W) @; ? var isLast=false; K+ P6 |; V! x9 v( {
7 Z/ u* y8 `/ W. Z; ~1 k while(parentBgColor == "transparent") - `$ P5 u# U- h) w9 I
{4 R @4 b' {! ^; q* d
+ x, _0 [9 o. C2 q: W) N$ I* Q 4 Q' z I/ h1 {' [6 g' E' k, t
if(parentNode.parentNode == null)! ^) Z) @, f( h1 s1 | p
{
! b3 \; X: d _' h! j0 X isLast=true;4 Y: V5 y& P4 c* [
break;3 @3 Q+ Y1 J, A% r, S w
} x: y+ G) i9 j& A* r
parentNode=parentNode.parentNode;
$ O' N6 k' J O! f8 |) ]/ o parentBgColor=this.getobjstyle(parentNode,"background-color");
- P o7 a1 I$ K( t N& P8 X5 U5 n; I8 l! N
if(parentBgColor != "transparent")
' v- W& ^1 X- o' @9 {/ ~6 {, W2 y {9 W- r$ p# {, c" ]& x3 v8 ^( ~/ f
break;1 H ]' k% g: C5 K; t
}
+ I) r; c& Q+ S3 m2 M$ n }6 ~0 A; D# \- v/ n9 ~7 o, k( Z, I/ x
if(isLast) 0 f3 p( F3 ^2 J
{
5 t- V9 D' y8 E8 d if(debug)
" f* R T2 r) p {
. c, U, j9 B8 ?/ i+ U4 y( s alert("last!!");
d( L- k. U/ o4 r" { }
! @$ o) _: a/ |2 W3 ?1 J5 A' ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: ~, p$ T& l; q7 n {$ b: f% l( n5 P: A% J+ `
orgNode.parentNode.removeChild(orgNode); # g$ X3 Y0 r4 P: S
}
+ j5 D: h0 a2 a% K+ V0 ]6 F7 [& v }
. p* O* Z4 a/ d0 P7 r else8 y# U/ {1 q4 M/ I1 m7 z# J! w, a
{2 \0 u! a* O- H$ { f
if(debug), H/ |* K- M0 T* @% r& q& W
{6 s6 o! z* F) b" _- b7 U
alert("compare color and parent bgcolor!");& H( F# c/ P8 A" B
}% x* H V% T; w) W
parentBgRGB=getRGB(parentBgColor);
* A: |: @5 Z9 n& m, o0 [3 u/ } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 D$ d: {- D$ H) C {
B3 U% V. x6 b: x+ M orgNode.parentNode.removeChild(orgNode); 1 k r' a& m9 m
}
7 o) M% r& _5 R' y' P9 z }
& [) Z6 w' V( G* C" q; k) K$ V: S% g }7 d9 g$ s4 j' E
}
7 t/ n$ [$ T; L" W; w }
& @- o J; V0 K$ x* U5 @& B! ~) | }! l" ^- |% d9 M0 O
' K* z' _% [6 E4 U: L' h* g
" c- F' Y" _* V4 k var itemFrames = page.getElementsByTagName("frame");" V5 P& Z# q) B: m
var itemiFrames = page.getElementsByTagName("iframe");
( b, h k% y& Y& C 1 ~/ g3 [: u3 `6 N- C& h/ k$ K$ A
var frame, iframe;3 J! k b6 O, X
if (itemFrames.length > 0)
& d: _7 m8 z$ d. Q* ~ {
- h. ?* Z" p5 W, b' S9 w4 T, n for (var i = 0 ; i< itemFrames.length ; i++)
2 V5 s- t0 i; u* c. a {( X% Z' T! g$ s: n. v! I/ g8 m8 F# r
frame = itemFrames.contentDocument;& {" |/ G. p1 Q$ Y" s
this.RemoveHide(frame,objname); ( F0 T, K1 x S) l
}
3 X) w* S, k5 h! K j } \5 b$ d! U. m! z! q) G
if (itemiFrames.length > 0)5 s2 k( f) f; z- s7 e1 v
{1 |0 p) u) c$ ~1 ]3 y9 ~, o$ N
for (var i = 0 ; i < itemiFrames.length ; i++)
" v% ~% \% Y r$ h' s0 ~ {
& j5 C ?" F- O4 T6 v0 s! w' i- ~ iframe = itemiFrames.contentDocument;
9 o+ x4 p4 o( R$ j8 F this.RemoveHide(iframe,objname);
- d& X; U. ~( ^. `2 ? R% e }6 d5 T. ]! B5 j
}5 f2 X- w. X6 f2 |$ E
}- ?; K3 [; `% k. C0 n9 u% R
catch(e)
/ g/ @# {1 q# B {8 r! C9 R( d+ j7 w
if(debug)
8 J( G1 |, Y4 Y {
- f4 x, A2 I8 h9 M# }! D% n6 b$ S alert(e.message);0 C, z# u' _ k$ M0 d0 g
}
4 @$ p; T6 c8 S6 [! Z; ^: q: k }/ C: B3 X0 O8 q% j2 n
}2 F& g3 k$ W' C k' [+ |
) S* Q5 b# [( x5 ~) j}
3 q" Q2 J" l3 Y/ Y' X
2 Z" k* x' J( W, ^function getRGB(colorString)3 i4 d0 n/ a$ b3 \
{3 b |$ P3 e; U, K* h
var RGB = new Array;
4 A! _- v0 o! h, T var tempSting=colorString.substring(4,colorString.length-1);7 j! w) T8 } N( X3 x T
var tempArray=tempSting.split(",");) a2 h) P R1 }2 ?
) ^' B8 x& W* H' f8 {
RGB[0]=parseInt(tempArray[0]);4 ^" `6 Z! A& c! A: c# J
RGB[1]=parseInt(tempArray[1]);
# n: l) y+ D) M# s5 [6 E' o1 J/ g RGB[2]=parseInt(tempArray[2]);+ H7 B# G. u: Z. l5 X e: q
5 r+ m! }( R" z- A3 v. D8 I return RGB;
* l4 ?2 S3 ?5 @) s- f}# X9 G6 s m3 Q9 N% F: I8 T
function keys(evt) 2 x4 Q0 N2 o) a3 b
{ ! ?! R4 C' i) k( \8 R
if(evt.ctrlKey && evt.keyCode=="81") 5 i9 G7 ^/ _$ M- ]0 T- p5 }& Z
{
& ~+ k0 s+ X: w Q. a CleanHideObj.on(0,1);- {6 B+ ~/ t: z8 M5 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& S: i3 z' ]# |8 r" r$ T, L
6 z2 F, H% M- T7 @ }
& {0 I; ~: Q: ~ } - K) H" Z5 y! V) c& d3 g* B
document.addEventListener('keydown', keys, false); ( i, x" `/ R* a! \! A
GM_registerMenuCommand ('Clean Hide',
1 c+ C7 I$ U% m4 gfunction(e){4 o8 f6 x5 U5 g( g; z
CleanHideObj.on(0,1)
& s. I8 B3 p, b- ?5 P( Zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ v2 e( E% o" _3 B j# `7 V
});
! _9 C8 j8 k u8 f- F |
评分
-
查看全部评分
|