|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 D8 |5 R8 l [: {6 K- ~
7 Y0 M( `/ n) ~- M" {$ R2 _5 b9 f火狐插件,用猴子. w. l! }% _, k$ N- q! c
h! X) j( a9 W nvar debug=false; # k' _/ P5 M% G& z$ P9 _" v
var CleanHideObj=new CleanHideClass();" O: O! s9 x0 p" S b7 c: A1 I# R
# L( }/ P3 @, ~0 x* g( s- w3 [- Wfunction CleanHideClass()
+ J" [# Z+ Q! H- x( s/ d{ " x- g, ^' |+ F0 _9 {! W0 |
9 r) C$ S; D1 t! Z( n L4 T this.on=function(id,bMZ)& G8 U2 ?( j! R4 H$ K* V
{5 b4 k4 v. \# {4 O
& b- J6 K* y" D5 @ if(id == 0)- {- Y0 \, {( G# Z! l& P8 m( N; j9 H
{
8 H8 `, u& u* c var page=/* document.getElementById("content").contentDocument */document;
, v/ }' I" ?3 ~0 O this.RemoveHide(page,"span");
4 m5 ~) X2 C L) H this.RemoveHide(page,"font");/ S$ s# U: A$ W: [; d$ J/ r
this.RemoveHide(page,"div");
, s" u: b& m: Q) e this.RemoveHide(page,"p");9 @" R- D' a6 y3 Y% ~
- m" t/ {" d) r& T3 A- W
}
/ _3 _6 f! `9 B7 ^) ~ W2 T I$ h9 [; w& ^" M& h
}
3 X' I: f: S0 j6 J3 H _: u; z5 ` this.getobjstyle=function(node,prop)
$ c) h. I4 g) f$ N" n { a! Z& H4 R% j) ]2 @
try- b8 I5 |2 D2 c" x
{
$ J. n) e' k' ~. Q) b X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 x9 n. Y6 T7 j. Z3 M
}
' f. J& G4 z. _$ y/ W catch(e)& O* j2 M1 O% K$ j& i
{' X. f! k3 S4 j
if(debug)
4 u, B% q# @7 V* u+ B {
7 V3 x! y2 N8 i* @' ?1 i$ q alert(e.message);1 W% q$ z8 O7 a/ g+ w
}1 N' ^2 r( w0 O4 L& O( O* e
4 m) x9 G" ?0 D return "200";
; ?5 L9 X: |9 Q5 i' g% o' P }5 U) A- [/ g, m( Y. i8 }
}
/ s, O+ C! a+ f5 T
" L) Z8 g2 u$ ]* N/ y& J this.RemoveHide=function(page,objname)
6 m) M' U6 L! F3 x: z8 p8 Q" Z {
9 x/ r, @" ~2 l5 N: o try. L c4 C, o* g. B5 i
{
1 F1 h' E6 ?) r5 r) {* e: Q( V% G F' K var minValue=15;
6 D9 \+ H4 q% O var objs=page.getElementsByTagName(objname); - }5 F! \7 F/ j8 u3 s
8 r3 g4 g9 I4 [
if(objs.length == 0) 5 _) E. s' Z1 t* a" a
{
8 o3 ]* {. } e- _ if(debug)
" [! u% }6 S0 m. }" H: t+ V {0 {' N1 x p( k5 e
alert("no object found!:"+objname);
1 g) S( h: R; W# {2 R, L6 r }
5 a: x$ T9 \, m8 l }
9 m& I" h7 H5 O! J' Q else
7 M/ T% X1 f7 j! X4 M/ @6 e4 S { f! V1 r& ~) h6 X% P6 S
* W) y) T: f0 l3 d; e# T
for(var i=objs.length-1;i>=0;i--)
( l8 ^6 n1 F$ P5 T" t" M9 W {6 W9 m; Z0 g# |, m9 y2 h1 C, W4 ?
var node=objs.item(i);
* [& a' _# I: ^+ _
6 Q( q( r1 C7 k1 T5 {
/ K. R& G8 m6 Q" W( K9 ~% p9 b$ [ if(this.getobjstyle(node,"display") == "none" ||
' \! Y4 t( s- V0 L. |6 z7 W9 D8 L this.getobjstyle(node,"visibility") =="hidden" ||
, n+ v. N: v. T7 Y0 v# T parseInt(this.getobjstyle(node,"font-size")) == 0) * r' g0 w& ]% {' ^
{4 Y9 I. s3 N. q
if(debug)
* }8 I! s- a( L. S5 N7 i {
: {+ }" j# l- m x X, J alert("remove invisiable!");& m( `! A) O( I# G/ l
}7 o4 r. T6 m$ {$ A6 D9 }
node.parentNode.removeChild(node);' _; b, u- ]3 T( X$ ` d3 T' Y
: {9 n3 t4 M' J3 F/ u3 Q( R }- w4 n$ X' a% Y6 g
else
4 d m9 r$ r, H! ~" }5 W {, Z& [0 [& D3 Q4 {9 T
if(node.parentNode) * j! ?0 s! R4 V
{. P/ S# p9 n+ m' R
var orgNode=node;& Q( E8 P- A3 p$ x+ X
var orgColor=this.getobjstyle(orgNode,"color")
: s4 |$ \% n. Q, ?% O# k var orgRGB=getRGB(orgColor);
' w3 A! F& }- ` N0 d& O/ _1 U
5 O3 U. Y& Q8 Z; w; ~5 @ var parentNode=node.parentNode" [+ }0 s% I0 [* q
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 G* ^/ ]! R& i. t! x
' N" u" z" X1 [ var isLast=false;
7 Q3 j, h5 v b& X 9 d' d% f. Y3 ^2 U! f( x, h$ u
while(parentBgColor == "transparent") - j" _' l9 {* T6 R
{% r1 b* W" W x. B1 u
2 B) |, F* O- K- j; D8 t6 ~; y+ |
1 A) |- p% m- H$ P6 g if(parentNode.parentNode == null)
0 P" O" _" I# Q1 t2 l {
9 ?, r2 Q; [/ {; s4 ~7 c1 [ isLast=true;
$ u4 g i& t5 G% y6 H6 i$ t break;7 u5 h0 l' J. X/ b9 v+ E4 p
}* m* D, v9 m- N
parentNode=parentNode.parentNode;4 ~' J& X1 K) z+ e8 m- A8 z6 ~ [
parentBgColor=this.getobjstyle(parentNode,"background-color");
" P+ e1 ?* B: w
' S8 t) P( I# f5 s x* `/ w3 [: c if(parentBgColor != "transparent") ' N# O: r! ^8 p: g
{$ w( d# F! I& M' s
break;
( m" c/ K& T3 n }9 g9 Q( y/ f( @- f
}- f3 u5 v2 w0 u( v
if(isLast) ; S( _ O/ i: G* y- V9 i7 V( H
{
, a% q6 X4 }/ j7 I if(debug)1 Q6 j {% f0 E' j7 Q; M' H2 q4 W
{7 F) D9 i. _4 a8 M
alert("last!!");
9 ^' J) |( |$ q4 Q' O* c8 | }& z0 p6 D4 C, P9 t4 \8 I: t* {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; l# |. B( ?8 r- U7 q! d n: M8 w {" A# O# _5 Z9 v# I Q
orgNode.parentNode.removeChild(orgNode); 3 [; L0 k' \- ]2 I: s1 G
}' \6 A* Q- `) ~5 S7 C
}( G0 f. w2 b6 R/ F6 l4 @+ U% d
else
, g& W, s3 G |) K' i {
# T8 d: m5 O) ] e1 V9 t# B, e if(debug). h8 G: I* Y! n. z% C
{
4 h0 k2 P/ N4 h, p! T alert("compare color and parent bgcolor!");
* P9 _# f* Z' `" k/ ~ }7 |5 p# H! g$ z% u
parentBgRGB=getRGB(parentBgColor);5 W# [3 J- E) X; X: ~' q/ L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ o# I# l# A! j
{
9 ]2 U) E* _1 {+ {1 X. p orgNode.parentNode.removeChild(orgNode);
1 S# E% Q- @! s" [, v" v o$ N* N }4 C1 S/ E9 c: e, B
}5 H6 N+ `6 T" \( _ [3 ?
}3 k7 }1 g9 h& { p4 ~* Y: E/ D
}
! u2 L! W* a5 B" B }- N5 G, {- s& _! E' k7 R1 J5 o
}
% u8 D% t! R1 K" R, v
1 n& |& ^( J& d 3 T/ u' u; p. b
var itemFrames = page.getElementsByTagName("frame");
0 x9 Q% h. L2 c' `: M var itemiFrames = page.getElementsByTagName("iframe");+ d7 q/ y, ]$ h
% N$ y* b$ O# f+ m7 r( Y7 I var frame, iframe;+ y" ~# l2 W* ]
if (itemFrames.length > 0)
" f( ~# _7 f- i* m; d& F { B! m$ D+ q5 P" j
for (var i = 0 ; i< itemFrames.length ; i++)
: N- p- f( E! E& {) T- ? {
8 N1 P9 a9 L' Z frame = itemFrames.contentDocument;
" k; x' f" q a4 ^& g this.RemoveHide(frame,objname);
4 N2 A6 `% q1 a# \. { }
+ |8 V4 r5 \: P& n6 K6 B }; Z5 {- B0 q1 n- ^1 e6 N9 B( Q
if (itemiFrames.length > 0), j/ ]) H, p* y' x6 R" l7 S) ?
{
; ?( a# r* ]% v for (var i = 0 ; i < itemiFrames.length ; i++)
@5 N* F9 L9 x9 ^4 g& Y {
, h" F0 B1 ~& s l; h iframe = itemiFrames.contentDocument;
9 _ ]7 G2 ^( n u. w this.RemoveHide(iframe,objname); - t: ?2 B( ^* |8 a2 X& K6 s) l
}
2 C2 \/ r9 y3 m9 P: t5 C& x }
% A, x! P6 e( b! @- ?7 ?; j }0 i0 w* k) {0 f$ m
catch(e)+ f& @% d' Y( H" H6 n. g2 V
{4 p, A. D6 n0 l H( J: r
if(debug)
( J! p; @* A0 H' ` {
8 P+ Q: ^" H, | alert(e.message);5 E6 J, f. o. l: @
}- F: m6 {5 ]# W% g; W( [% L5 h* I1 N
}
) X; r7 Q/ x1 Y }
/ c5 A. U3 ^+ v" ?9 p
) z# n. h% e4 `$ u0 u}* M: Z/ M- E" k
* F9 z) @9 H% a; d. lfunction getRGB(colorString)0 A' f# ~+ g& h/ l. g# Y' j
{
4 J$ p1 F& S, w5 V var RGB = new Array;' P) M7 q% h0 ~
var tempSting=colorString.substring(4,colorString.length-1);
: N2 r# `8 q1 ^ var tempArray=tempSting.split(",");! }# s2 \# T @4 G: E# h
& R6 W) [9 b- b0 F* W
RGB[0]=parseInt(tempArray[0]);
, p6 p" z' r9 J$ L RGB[1]=parseInt(tempArray[1]);
( E+ O- x* t2 ?: X2 i) P1 p* w( Y RGB[2]=parseInt(tempArray[2]);6 ^6 l. b+ K0 o+ b
- J/ M) `/ _! h( \" Q2 a return RGB;/ F9 Y2 [+ X& A" D" {- B1 H1 k5 k
}# K5 q) x; v p" _
function keys(evt) / ^: x0 S. X& q" }3 g
{
) i% {0 h5 h' z* [. S" c# \ if(evt.ctrlKey && evt.keyCode=="81") 9 I5 \0 X# D5 @% _4 W
{
' J% J5 v- [! ]' C; k CleanHideObj.on(0,1);
4 U1 J! z( \0 a4 j& l. e- p. t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" _8 e) S1 N. |+ ? 0 o" P! c- d/ L- M6 [
} & i* z7 n5 c: T4 J$ [+ c
} . _1 O& ?( p: Q
document.addEventListener('keydown', keys, false); " O$ ]3 n! }# E6 @+ e/ K1 p
GM_registerMenuCommand ('Clean Hide',
0 D' {- z! o- Y9 m6 K$ c$ dfunction(e){
/ S9 h- w4 d' A* e+ DCleanHideObj.on(0,1)) e; q% O6 T4 S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 [ H: X) u( j) n});( u! Y" `( S' `# O: f) j
|
评分
-
查看全部评分
|