|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' T: P& t' M* {. z
, S- S4 w0 e! t l+ m! b! s火狐插件,用猴子% i2 p( Z- a( h
- R( K* q* O4 F# Tvar debug=false;
8 ?( U( T8 P' H% R, u' Svar CleanHideObj=new CleanHideClass();
* i. @( U g1 w& z
& I- C$ f8 Y' `- f ?1 Efunction CleanHideClass() + G4 ^, J" ^9 y9 A
{ ! U" i1 f. ]6 r, T
4 ^7 F3 _* n# V$ u
this.on=function(id,bMZ)/ P& m5 p0 Q; B/ ?7 H- Z/ e
{' S6 x$ b! R) a- e
# x+ ~* F0 i$ W G if(id == 0)
6 c) _+ j9 E' T/ s {
8 O1 |9 C3 {4 v var page=/* document.getElementById("content").contentDocument */document;
) Q7 `6 l% y& a# K8 C9 D& o U' t this.RemoveHide(page,"span");
/ ]) u8 }; i: A this.RemoveHide(page,"font");
( l- f' Y* r4 ^, U. D1 Z' { this.RemoveHide(page,"div");
. q. |) ^) x0 O this.RemoveHide(page,"p");! p% g( J& z* n( L1 j, b
1 t: U, ?7 |* Y+ K% ]5 R! [' a
}
7 J$ S A; z- h% f d( y * z1 h0 D0 W, S _# O. S
}
B j5 C! [6 x+ [% ^6 M this.getobjstyle=function(node,prop)
* Q4 ^4 o x1 L0 \/ v {
! K& E! X& S t% n/ l4 T+ ~4 c3 Y try9 [* s, K' e& J4 S
{/ W1 _6 W8 `" Q7 m# u+ m: t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ i% N3 D6 q0 y# {# Q* K' ~2 I }. Z6 t/ o# s" K* z6 r
catch(e)) o9 y& l* u3 m8 K2 `" A2 k1 c0 D
{
0 O8 i/ d9 E$ l9 q; R0 r/ J* R if(debug)
! c3 p4 u! w8 l0 F( p {: z5 ]$ N {8 n# A3 C* h. m& @' I
alert(e.message);
$ |# e" w: ~, a) J+ _" H }
; u! C$ K% W7 f+ w1 T) R: Z) C: T
1 w+ Z: o# I; o return "200";
/ v$ N% R. G. u* M7 G' K* I }% V# |5 ^( n* A. d9 z2 M: M
}* h" a2 M8 A1 c1 S$ n" C. S' n, l
2 p5 D; r0 U% S$ }$ z9 F
this.RemoveHide=function(page,objname)# x( Q& c8 U9 S6 E' d( p; @, t
{6 N& U% X- U$ n1 f' y
try
& p* m9 j: @/ |" D {' ]# t$ ^$ h5 |% [ L! B
var minValue=15;5 g, W$ I# g! l$ _4 Y8 i/ A Y
var objs=page.getElementsByTagName(objname);
# A) w6 N* h2 y1 F. d& V$ C# ^: L& D9 V- {8 M+ ^
if(objs.length == 0) : ]+ b9 D6 M" l/ Q3 v# K
{
2 u* O- |) n2 l& g9 v if(debug)" C9 ?" r$ Z7 x$ N. J/ C
{
8 V! K. v0 Z4 Q5 z M alert("no object found!:"+objname);
7 _8 _# C/ l) v: B) X* } }' z3 n, c$ e& }
}
' M, n. Y, a) m0 `- I4 O9 M else
# w3 ~: S" I* }7 A E) U" v. \7 ? {
6 x0 d( I5 [: Z3 M6 n
, |/ t: A& I+ q9 f+ D) g% K; | for(var i=objs.length-1;i>=0;i--)
7 d& V" d; o5 r, S* v {
2 P+ l+ g1 E4 y var node=objs.item(i); ; b, F! E5 V1 Q( ^5 t" F
9 |& G4 y: K& }5 w9 [$ [8 I
* x s2 ^5 o' I! T) n, l
if(this.getobjstyle(node,"display") == "none" ||4 n0 K! i4 t6 F; l4 m. c# \( A* q
this.getobjstyle(node,"visibility") =="hidden" ||
& z# K$ w2 O" X parseInt(this.getobjstyle(node,"font-size")) == 0) : t: ~- }7 M) q* g8 u1 R
{
$ X% U3 N1 T: K, c8 B0 y if(debug)
# {( Y4 \2 {# j/ V" k! N! d {
' t: ~4 F: g" @# C6 o' r alert("remove invisiable!");/ @# Y1 f# j* y2 T" Q) } a
}
d3 Z, \5 Z0 S u# c/ R node.parentNode.removeChild(node); e4 ^0 p7 x; w. Z. F/ r* X1 H% q
7 P. z* W+ H& {- u6 E: n; ]7 _ }
/ n& f# H6 W/ ?6 E/ ^ else 2 @- O/ h5 X. o( u' h; Y4 I W
{% A$ u/ p4 |/ X+ ]/ Y
if(node.parentNode) " Y f# o8 Z! F+ w8 P
{! k# C! C! v4 `7 m6 r; d
var orgNode=node;
0 Z- N0 G" L2 y0 e5 H6 ` var orgColor=this.getobjstyle(orgNode,"color")
5 W2 V) M1 H9 y6 P4 j var orgRGB=getRGB(orgColor); " _, K2 z8 V8 O% ^5 }5 C, O/ A
4 k! ~" ?' o& r5 A
var parentNode=node.parentNode8 f$ [. ?$ f# J+ V1 X
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ r4 M+ q' ^5 C4 ?6 l. a Z ' n& v* B, E" T# X
var isLast=false;1 x6 b2 p% n6 S' ^5 D
- A+ ~# J- i) Q/ F' Y8 O while(parentBgColor == "transparent")
: u2 u2 [ o+ \5 h/ Q {! J' d" B: d1 f) X6 h4 z8 Z
3 R2 W1 p9 P- {6 c2 m
. r% S4 Y' J1 B- S8 V# L0 |
if(parentNode.parentNode == null)
8 n4 J6 G4 P+ q {' I# f+ M" l5 S- U8 H3 @
isLast=true;
, z6 X* [2 [, L7 y break;# M! z4 j& d5 v& g
}
7 b) k! U3 ~* C, V9 y ] m parentNode=parentNode.parentNode;
' l0 a" i+ T8 r! R% p4 i% d parentBgColor=this.getobjstyle(parentNode,"background-color");
1 l& V, p/ _% @; q3 |" u% r" f% [ o: R' ^. H( u
if(parentBgColor != "transparent")
% G2 _' P/ f& K4 K$ E3 t% ~. l {, a1 p% r1 P4 _
break;
$ u. o3 s& @( R9 T* Z. T: P }
" }. N; v( o5 Z9 j }
4 G3 {/ Z( o5 b+ J+ R if(isLast)
$ v5 A0 q# I# Z" Q4 _2 _& i, B {* g% J) J# t7 ?( S% F- j
if(debug), f1 K# G' B& H1 Y7 \2 f
{2 V8 B4 ?, g4 G% p% D+ D# q
alert("last!!");
; D% X0 |& M- p( v }
2 ? B& f Y `8 y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 G0 C c- V( f& X$ O. k
{! `$ y; o& i7 S& N
orgNode.parentNode.removeChild(orgNode); 5 L6 [ B" J& ~ }: t/ {
}
3 {- W3 Y9 l, W& F+ {$ U. ^ }3 O8 `$ k6 s9 y A Q
else
/ N+ U' \/ D/ L, B0 ^( T: Q8 E" Y {3 B8 w& O# l) W
if(debug)
" p" v% Q8 {$ s* P& [9 O6 N7 T {5 A1 Z7 v. l, b4 }
alert("compare color and parent bgcolor!");. {2 k3 q) K4 o1 c, }
}
; Z5 @6 u- [! _5 j% v1 Q- E1 ?% v parentBgRGB=getRGB(parentBgColor);
, P' ]# n# x9 g0 S1 V# p if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 j* V; Z5 }" D5 X5 q {
p$ Z/ q% {! w8 M( d) f3 D n* B orgNode.parentNode.removeChild(orgNode);
$ s6 E8 ^8 S- f/ P7 u }
1 F: J }! ~& \3 W& a }
# J1 k2 i" _7 ~8 _ }
* z( C) _, D8 V! [ p }
% g( I6 e; a' Q! k% U }
! J+ N- T1 v9 c8 i }( g4 m6 H2 v8 D" |+ s9 U E( l J
1 P% J" G& E3 m( }/ `8 E, c
# t. q8 `4 G* `4 u! P0 r) V
var itemFrames = page.getElementsByTagName("frame");
# g" g8 E, T% _' @ var itemiFrames = page.getElementsByTagName("iframe");2 u/ A! e! y6 R3 l+ ^
1 M4 J, N$ m" P
var frame, iframe;! m! q3 D& u) f
if (itemFrames.length > 0)
* i! t+ E2 T; k8 q# C2 F {2 \0 e' x. U# u4 V* N
for (var i = 0 ; i< itemFrames.length ; i++)
5 ~& X2 p. @; k/ b/ ]/ V {/ u" `/ m* H, @/ ]
frame = itemFrames.contentDocument;
5 Q) @5 C8 z' u+ Q this.RemoveHide(frame,objname);
: i* q4 }; O! k# ?' { }
3 ^, u/ C7 i5 L0 [' `% _ }
; d$ p5 j* c* W8 S4 M if (itemiFrames.length > 0)* B% ]4 o1 F2 S- }
{
0 `, p0 s3 q2 Y: f) ~" Q for (var i = 0 ; i < itemiFrames.length ; i++)
8 p4 o8 D8 G; w: z2 |3 Z {2 }; h) |, r7 U* X0 H
iframe = itemiFrames.contentDocument;
W: _ V- L: C. m) r; ? this.RemoveHide(iframe,objname); 6 S1 S' H% k* K$ z. B
}
, L4 w/ V+ f0 W' r8 _+ d N }
' g) s! O5 Z# o7 u( P } ^3 }9 Z6 G+ L5 R7 M6 f
catch(e)
/ c- c! n* V. N# U! ~8 |) m+ N {# k8 _ C+ P8 N$ N9 }0 `9 `. l$ O' S$ |
if(debug)2 {# {3 \0 P* J
{
9 [9 e1 ?) N5 o) s" H" O alert(e.message);: r! c; P# e0 J' J6 ?. y5 N0 q
}
! f* x4 ?% @! ]% t9 x+ B$ A }# V* [$ B' P _( j4 m
}1 y$ X/ S5 J' c* v" y1 s. C
9 T3 F2 f! } [3 H, e# p
}
" w6 H* G) Q( L R4 E4 W# n0 n* L5 q/ v! i
function getRGB(colorString)
( Q4 h' t* I' _6 ~5 a3 ^$ s6 \{8 {. w/ k+ a5 R# _, e
var RGB = new Array;
7 c4 r3 s9 N" Q6 I% |7 A5 y var tempSting=colorString.substring(4,colorString.length-1);
) n9 ?' Z# `1 i2 B. F1 ]: A var tempArray=tempSting.split(",");5 }4 L1 r9 R. C2 B6 ^, L
% N" e' U9 z# n2 g) l4 T1 a' d0 y
RGB[0]=parseInt(tempArray[0]);- @1 `) }! b. i/ N8 |
RGB[1]=parseInt(tempArray[1]);6 c. N$ l1 i! c/ O I, T+ C6 H5 t
RGB[2]=parseInt(tempArray[2]);; y0 W# ~+ ?6 r% d# C/ O9 X) J; p
/ A4 |' h7 k. L3 ? return RGB;+ k6 q4 o& l% H; r; Z+ |1 c. ?
}
7 R! |, U6 a2 A* Y1 I+ z Ofunction keys(evt)
! H. x% c. w n/ P, c8 w1 f6 _ { + Z5 {* ?. G5 V) u. U, ~7 ?: u+ R
if(evt.ctrlKey && evt.keyCode=="81") ! Z1 M& I, ~/ M- ~; n
{
9 |& |' g/ H* A CleanHideObj.on(0,1);# v4 D' r" _' k2 G2 ?+ z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Q: H7 C/ r) Q0 F1 d
+ y; I1 F3 ~, ~% [ } ! C1 J% A+ z) f ]) N- E' e& y4 c& {
} 3 [8 t# z* ?* _) j
document.addEventListener('keydown', keys, false); , P$ N+ U) m& q z, \
GM_registerMenuCommand ('Clean Hide',' e. o2 H& t# L0 E' G
function(e){$ C6 t4 B, K# ~8 F6 p
CleanHideObj.on(0,1); O; @1 |3 G4 `: t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, T/ ~8 ` u0 r+ \. ]});
$ m$ Y; F+ ?! x& h$ M) ^7 { |
评分
-
查看全部评分
|