|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 b3 ^' i3 p9 R3 Y
/ L ^+ k7 c. D) P! f
火狐插件,用猴子; E' O" U$ @9 D( y) V; ~
5 `0 ]! Q4 R- P1 mvar debug=false; ' y& F) {7 V* }/ W: a+ G
var CleanHideObj=new CleanHideClass();4 I( e ~, x0 s; m d+ P4 a8 n
$ Q/ k9 `% f$ ]+ B" v
function CleanHideClass()
/ G; c* t/ u I7 h{
% u; s% f) \$ H* [
: N8 c0 m% E) g0 ?6 q% M this.on=function(id,bMZ)' u1 u# N: h0 Y
{
+ c- t8 U9 R# k# f ! S4 e5 g. F& t' r4 b8 A
if(id == 0)
2 Z ^ a0 y0 Y) o# H1 C! y {/ X5 ^& V$ B! q$ R0 Q+ k/ n, H' G
var page=/* document.getElementById("content").contentDocument */document;
: W; o5 c8 n2 c" A& ? this.RemoveHide(page,"span");
( s7 Y& F8 w5 G* Q this.RemoveHide(page,"font");5 l' x- L4 t1 S2 R: U) {
this.RemoveHide(page,"div");" F. p: V/ ?& ]2 ?% q8 d
this.RemoveHide(page,"p");
% v3 H: Q( X0 O/ `) P7 S3 F# w3 u. n & k2 f3 D! z; e6 [7 c7 K
}$ A' B( u' \5 S' H8 E) u
7 K+ N$ T+ ], t: I
} f1 p2 O) z" P& \) ~7 }
this.getobjstyle=function(node,prop)+ }2 C0 e) @) M* F T: b
{
2 s5 Z% `6 X/ L4 V/ ] try6 G* ] u: R G/ s: e9 C
{
6 j' ?5 d8 ]: l9 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: M) E8 G! \& k) n; h' O
}6 z8 _) g+ M0 b$ n0 i4 @: ?% E4 @
catch(e)
# o8 I* F# O; v/ w/ S2 S. w {/ @" I: P6 N4 O' P2 T$ { |& ?
if(debug): G1 X! o1 \0 l6 S: F
{
9 K& x. T% h8 x# m, Q* J# E alert(e.message);- L+ ]0 A- P/ V) T* v
}
6 d [6 s) j) j z3 a& X8 N2 Y 2 I- S3 y% l" w* E+ }# A
return "200";
/ k5 P8 P' e1 |! w. @$ x+ g }
V$ i3 T/ \5 C2 E# J }( E' O% g/ b/ e* p5 f7 r6 ^* l
; g# P0 I! z u0 H) T. L! [) t this.RemoveHide=function(page,objname)
8 T3 ~7 ~$ n4 g, k* D1 p2 {3 L {1 o# j$ ~% Y# J
try
' W+ t0 E6 a1 M8 d( s; [2 c {: A+ ? t3 k6 ?, m- u/ S+ m
var minValue=15;
5 V3 H4 c) S# j var objs=page.getElementsByTagName(objname);
& T: d. X. U7 X# }+ P* v( o
/ y$ N3 M! O5 K7 s if(objs.length == 0)
" i; n5 M6 I" ?* v* j {
: E, J/ @ y+ F5 ?, ?' k if(debug)
/ K" s0 N$ Z8 I$ _ {
$ R9 \' z$ e" U alert("no object found!:"+objname);
8 B+ U+ t3 @3 q( b$ M }
1 |: h ?2 e" M3 k& C }) J) H" G* D* Q) H6 [: ]6 n
else
% y/ S" u* P% {4 Y$ a+ G {+ \2 O; c- Q5 A+ _0 y
4 U9 I# C9 e* ]) X, D* g8 } for(var i=objs.length-1;i>=0;i--) / M p% {) v4 S5 a) |: L G) z& l2 j6 d
{
% ` m; u1 \7 p var node=objs.item(i);
) H3 v# R" G8 B6 L9 ~. a ( b" H! U" P* X K3 Y9 t' v O
# o0 v$ z, N/ Y+ J' Q if(this.getobjstyle(node,"display") == "none" ||
: e+ _9 `- R; k- c this.getobjstyle(node,"visibility") =="hidden" ||
) C2 `1 D/ {% _0 d, p& l parseInt(this.getobjstyle(node,"font-size")) == 0) 8 x% X/ Y( B5 o2 V
{+ g) a. z' ~) W7 V$ B
if(debug)
, k- z$ g( q* D# g! y* O. I$ o {
# O, U( n8 q. G8 ]! o6 x. ^ alert("remove invisiable!");2 a+ k) @, r8 H- E
}
0 i. _. S" t8 Q- I9 V3 B1 K node.parentNode.removeChild(node); A$ k2 A4 ^$ D0 m: x4 c4 m: I
y o& b" O, a }
6 T" S1 [' U3 K/ T: e& h else
9 ~4 n( A: Y3 I {. s l0 F3 W8 V# i `, }
if(node.parentNode)
4 `: A8 L) [0 ]2 U8 Y {3 C' i9 d$ h5 u3 q/ @
var orgNode=node;3 e: {2 I- H6 }% X" a8 k- ~- S
var orgColor=this.getobjstyle(orgNode,"color")
+ ~( }( j* d% B6 j var orgRGB=getRGB(orgColor);
( g* r$ Q, G, n. g. G: g; ~1 g , H5 ?5 M5 z D1 v+ ^% M/ a
var parentNode=node.parentNode; W6 a! n: o' [; I8 a0 k6 K6 a! L
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, u& y1 E: z$ U1 r ) {$ ?2 j( }+ L1 m
var isLast=false;, {1 T) e5 K; t/ [9 j. g
6 D. D' d3 I1 K- f5 H0 N$ b8 O9 t
while(parentBgColor == "transparent")
% w, l5 |. H8 |' C" Y, X {
L& X( E8 b' N: \' v 1 G8 E, ~, A' H0 X9 g# O+ q6 H
5 i9 j9 f) ]9 h( Y2 {9 q @ if(parentNode.parentNode == null)
2 V& t% F2 ~5 b0 q: } {9 e4 o |, F* n, N5 ?4 L+ s& ^. @
isLast=true;
& ^8 b2 W2 h/ H3 z8 M/ c! V5 Z break;
9 O, F4 p0 @9 C! D. E }/ n: J1 ~ d: d6 z/ m
parentNode=parentNode.parentNode;6 u2 `0 [% P! b! @3 R ?
parentBgColor=this.getobjstyle(parentNode,"background-color"); a2 ^2 [ J7 }4 \. U, K# m
7 z9 W7 c1 @/ ^
if(parentBgColor != "transparent") 9 p8 ^9 o' C: l; i5 Y: c* ]5 a& }
{' y, L8 s# g* y0 e: K! f
break;
! ?" D" O5 }3 ~, X8 b: T( x3 } }# j) h* y: H, P: g% \
} |4 G: C; l1 ~9 g1 d7 M* v: l: k
if(isLast)
$ Q7 i" a5 h- o4 w! g {8 ]5 l, M. c, p# c8 g0 [
if(debug)7 o' ]5 k( C: p0 Q, P
{0 m, k4 K9 r* A2 ^2 j
alert("last!!");
( l+ R( [: v: b8 j }9 M2 B9 _0 K8 E" \$ u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! Z+ _3 w5 T: N8 i8 D- I6 [7 l7 D9 H% x, r {
! u$ F9 l4 I# f- R3 S# A( o orgNode.parentNode.removeChild(orgNode);
# ^5 V* H9 q* e* a }
$ K$ ~# q7 x _! @4 T6 G5 W( q7 } }, G. o v9 Y3 S0 u( z
else
! G+ x' T* z5 A) C$ P {" i0 f# k2 m5 x. L0 q; ]$ a& B
if(debug)
$ l1 t1 c2 ~" ~3 B {
2 T! ~. \! p$ ^$ g1 G alert("compare color and parent bgcolor!");
6 r2 H4 \* t: G$ ^ }
( a- [/ d6 A j( t parentBgRGB=getRGB(parentBgColor); z- A3 D) Y: f; o8 j9 A k. j7 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* s( k6 t7 G5 h3 q {! G6 q' ^ Z' S9 o( U, \: a, p
orgNode.parentNode.removeChild(orgNode);
1 n$ c9 }' ]# N$ g; ^6 c# M$ @) u0 z4 ` }
* R% T+ d! _8 L4 \: W0 n }
8 X1 z" F7 M5 R* N2 W! W2 g* m }
: Z3 \6 H. \4 @9 u( e. q! _ }
) a. L5 A& P. N2 S }
V* z1 h4 L% n6 Y" z# k }, K* m$ P- `: [5 {
2 g J7 \2 O3 {4 V
; X* a3 X& x& `0 l: y9 \) Q var itemFrames = page.getElementsByTagName("frame");; J) ~5 g5 ~+ a- a a1 m8 u3 W5 k6 ^
var itemiFrames = page.getElementsByTagName("iframe");+ y% A3 [+ N3 ~ z) f
) R+ Y' _5 K5 I- a: i2 ^5 e var frame, iframe;
3 [9 j9 ^; P, D. g* R2 K& ~ if (itemFrames.length > 0)
" Q! C$ P6 o. V {9 Z' D/ {7 C9 U l* X9 d
for (var i = 0 ; i< itemFrames.length ; i++) ! B0 h7 a2 c, M' d: g
{
O& M/ [; X, ~: d5 o+ a' k+ B frame = itemFrames.contentDocument;
/ D" L) }9 U6 E( l( Q: x this.RemoveHide(frame,objname);
) h6 A3 N/ X# T8 h0 ?) U% V }
2 d+ P1 i% U, T& t } ~% F; O) Y6 r. S
if (itemiFrames.length > 0) G; U" o- Y# L8 o5 a; L! L* B
{
/ R' e/ A* X# O6 Y for (var i = 0 ; i < itemiFrames.length ; i++)
# V9 x4 o( \ F; @& q {. H- O. b( f2 P7 I$ w
iframe = itemiFrames.contentDocument;
% e: H( m' E- c$ r0 | this.RemoveHide(iframe,objname); 7 `; d7 P; q9 Z7 W
}
" B8 P0 G0 G: l# K }
- R2 D9 q, o( E# |* {6 U }
) Z }/ c' Z- A- c- D catch(e)2 H/ K6 X: O u0 U$ o( ]% b4 H
{
% ]3 P, R& W- o1 T, f# r if(debug), h6 C% G4 K) m* L2 X
{' B6 w) q& P4 A6 N( p: i
alert(e.message);5 ]1 m+ W1 s) w* W6 z& K. h+ D
}
" u3 `5 N6 K$ Q& N7 s( F }
9 B# [3 R) u* u; T }; W( `9 ?3 k6 x1 K8 W
1 ]0 h3 T) S" V, M ^0 s}
& {/ u& T7 M$ h
7 E' o7 Y& i$ a: q1 G8 b' G" @function getRGB(colorString)
4 z) t3 [" Q7 [7 ?9 `" {9 z{' y2 a5 f& O8 P7 Q3 o" L9 E
var RGB = new Array;
# N" S5 [3 H/ ?9 \5 I/ p var tempSting=colorString.substring(4,colorString.length-1);
! S1 J: c; Q! s) G" l1 X m var tempArray=tempSting.split(",");& {3 {" k2 h1 {8 c! v/ L% R4 N" U
# Q. j+ \; @3 m; `; G/ j3 n RGB[0]=parseInt(tempArray[0]);
! T- B6 }& `, i- g, q8 i RGB[1]=parseInt(tempArray[1]);2 u9 q6 _+ _% ?2 v+ V
RGB[2]=parseInt(tempArray[2]);
) f' k, o# d8 X. _ 3 v Q! l+ y" `; y- }4 N g
return RGB;) N4 y% {1 t- `
}. C+ r) P, }: v0 T- r
function keys(evt)
. ]$ L: d# g4 V# u/ z$ j { * s; v; ^9 @7 w- u' U
if(evt.ctrlKey && evt.keyCode=="81")
1 B& V0 h/ A0 y x& C W8 e- N5 D { $ I4 S9 I% f4 O5 ^! Q7 p4 s5 b
CleanHideObj.on(0,1); i4 d" k+ @% I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 y/ a8 ?* p# r6 i: j. s ' z2 [, \: O/ c
} 7 }% {4 n2 T* O( i% I
}
" }6 Z( K3 X# q, s& M. X$ x( Xdocument.addEventListener('keydown', keys, false); & i {# S& Z0 s4 L& g0 z: q& l
GM_registerMenuCommand ('Clean Hide',! f( x! D! x/ X; u; I& M; ], }
function(e){& z$ G. W9 n* s) z& ]" U2 P' ^ C
CleanHideObj.on(0,1)& x+ A! u6 A# C6 [9 W" u7 X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");2 S+ o2 |* l0 e) R
}); c9 z! F! ]+ \- \
|
评分
-
查看全部评分
|