|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 w0 O) r' L c* k1 p
" Q& ?6 Y" U' t火狐插件,用猴子- ]& F" d8 @ }/ c# c/ T$ D4 m K
/ c1 F+ [4 O ^2 Y6 D2 n- \
var debug=false;
5 ~3 b4 b% G, x) k; s$ [- lvar CleanHideObj=new CleanHideClass(); h* U! a& |- D3 Z1 _: ]
5 B. `) e$ ~& F" x- S# g7 K
function CleanHideClass() 9 Q5 u2 i. T' K
{ & v* u* Z+ c, _/ H. r' w# j0 o
7 [) n2 l5 V, d7 ?$ _
this.on=function(id,bMZ)
' O% |6 r( y. k6 Y9 o {
9 H( X9 G2 f7 o9 j 2 r- ]# B. a8 I
if(id == 0): Z$ @* k1 M) c2 Q; V' ^/ |3 i
{
, s3 Z2 G, ?% w) h. b! H. K var page=/* document.getElementById("content").contentDocument */document; ( Z! C8 |- F" C- d0 D! @+ e
this.RemoveHide(page,"span");5 s& A7 R; E4 e3 R
this.RemoveHide(page,"font");
! l% g( ]% q! d0 O6 {. i ^4 z this.RemoveHide(page,"div");
* m. q4 d6 f" j3 j2 D/ R2 A% l this.RemoveHide(page,"p");) Z @, K. s5 A+ h3 n
' J5 T9 a6 B3 \4 }& m
}
0 j( L) N, i" R4 o
. ^: H: D8 n, a9 Q8 l0 r; a }
: w2 f1 @. s$ v# } this.getobjstyle=function(node,prop)
; G& F: }2 H7 d {& a+ R" i& K6 f" M# E# l H: H
try
& B, v" L9 e0 X4 ~5 x/ K2 B4 z {
$ Y0 M+ N* w+ D J5 M* I, j) D5 x C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# J: O4 ?7 P! @/ e7 p! | }3 m3 j8 N/ [+ R- f5 _
catch(e)
n2 V% a3 g; c! V, c$ C {
5 f4 j" a8 l/ d/ P if(debug) X! u: {. H! H/ u2 F" C* ?& r( P
{" i; t8 V |1 o
alert(e.message);0 {) M" l. T- U; t5 E
}
' K2 W* c* T7 V$ \& b
7 `* U* {& t* W$ V" S" I return "200";
@7 K1 p: s$ X3 Q }
! _. x+ Z% g6 V; @; L8 M }0 I2 N; ]4 `& ~
$ y, I# Y% Y. o6 Q u this.RemoveHide=function(page,objname)
0 Z8 D0 u( l" a0 y2 b9 M {
# s/ R6 a1 G$ j# ^' P$ m6 M try
! d/ h4 i+ v& a. F2 K; e1 Q- I# ~, m {$ X( K3 w: W1 l, N; p, O1 G
var minValue=15;
$ ~) ~1 l$ s1 K- r. ^, T var objs=page.getElementsByTagName(objname); 3 e2 o* U; P" |9 I; o: O, R1 s4 @
0 `. e _" ?7 _( `0 G& q if(objs.length == 0)
( t! ?! Z O+ w {
5 y% D# |7 ?# v$ r* H8 G2 B& n if(debug)
% d3 s, a% q/ J- g8 y {
0 ?# d2 X1 W9 T& u( d5 u alert("no object found!:"+objname);, y6 j) f' v$ x9 s" C
}# h3 F, I! u9 i/ h! W
}. [6 ~1 G4 G7 K( M6 t, I: _
else
6 ^1 e$ s7 m2 F8 w: ] O/ Z {
3 B9 }# r1 R5 S7 y b; L6 S& K
& a7 c# u) r7 T& \) g for(var i=objs.length-1;i>=0;i--)
$ k* a; u0 W: G1 P, z/ w" B {
; m! H& p0 [" u9 ~- F q var node=objs.item(i); : c) b, P' n% O+ u
: \# o8 w7 j* b/ O% X: h) W
3 }3 r0 O: j4 G6 Z3 y+ z. y/ J. G
if(this.getobjstyle(node,"display") == "none" ||
) _( o. q/ a0 T- L this.getobjstyle(node,"visibility") =="hidden" ||
0 J7 @# U) l1 t: o L. W! p- Z parseInt(this.getobjstyle(node,"font-size")) == 0)
$ S/ h' f% M0 B* {! E {
1 p$ |& P. C: l) O5 A6 X8 D if(debug)( h0 d* E7 I+ M8 d( X1 r0 a2 E4 K3 g2 `
{
) _( o9 C8 Z7 n1 _ alert("remove invisiable!");' G% Q) @1 }, v- d$ A
}
: l% }& Y: g% v+ k( P node.parentNode.removeChild(node);
3 w6 G4 |# f3 m( m7 i4 q! f
% h7 {- L1 ?1 ?. o }
/ C- G2 v& V8 r Q else ( t( \/ g- z0 J/ z* A: L
{' {( G9 l0 _- A3 e
if(node.parentNode)
$ B! m, ]7 `) Y5 ?) `# M& R( @2 u {
( M3 z# @* Z+ u# m var orgNode=node;3 V% X* h, ?& _4 f
var orgColor=this.getobjstyle(orgNode,"color")' a3 G/ Y5 n( M0 M# {4 W
var orgRGB=getRGB(orgColor); 9 S/ P+ u; G$ Q, v
$ s; v1 n4 |5 [* N* R var parentNode=node.parentNode) y+ S) f6 R# E) A/ v
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ s" P3 B$ ^8 G6 ^. a5 {/ f
' _% i& O) g7 @) I6 { var isLast=false;6 o; V6 m2 q& t/ y" c
0 I& p9 Y' x# l' [
while(parentBgColor == "transparent")
1 T$ c* u @# A" H8 I; L {
' K- h' \6 d6 N1 g
+ t! O' |% n E+ [/ Y0 B ; Z- D8 M$ b# _! u
if(parentNode.parentNode == null), `9 Q6 p7 D' e- W
{
+ v# W' ?4 O: [% D2 f. t% y0 p isLast=true;
7 V* }, G2 J3 M6 f, F' w: m7 T break;
* @$ b9 A5 w8 D7 Q3 { }
, X( z) g" V5 \4 ^+ m" K parentNode=parentNode.parentNode;
+ \2 V9 [2 O. h& ]' G! X; S W+ w parentBgColor=this.getobjstyle(parentNode,"background-color");
$ Y1 W9 o2 [8 P3 n9 z5 m1 v
; j: C8 H1 w: }, ~ if(parentBgColor != "transparent") 1 `9 n2 e# z; l* n- E
{0 `' Q% y: I* W, D0 Y( ^
break;
6 @& w8 G- U$ G* ?3 d( i. p9 \ }
3 h; k2 H& Q& d5 q. T9 ]4 Q }0 t) S" W& I1 R4 H- X
if(isLast)
7 B* Z4 Z* L; ~ Z9 b {8 x$ ?% u/ q" l: A% j9 ^
if(debug)
; S; }" M' c, Y0 \8 a {9 G2 O. M. R% p2 D- k3 G, [
alert("last!!");9 x( ^+ _5 _6 F. Z O, [
}( T% E0 W, [* t" F- H* U2 D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( w$ w7 `% ]' O0 ^8 E' C+ m; [
{3 s! M- b( g) Y. h
orgNode.parentNode.removeChild(orgNode); + G& B0 y+ M8 L' K7 e
}$ p4 V; R K* H- a8 l' W7 m% r
} z* A7 U" ~3 ^# Z
else
& N, W: j# H( S {
9 N+ t( P6 @; m* J1 O if(debug)
, A8 u0 ^! B) Y- \9 }1 `8 v9 e: D4 v6 f {
& o* t* _2 S W v; f alert("compare color and parent bgcolor!");
) {6 c2 E1 J; O3 O' \) I" C }8 a( d. s' W' e; j( f5 ?
parentBgRGB=getRGB(parentBgColor);/ M ?* u, t+ Y2 _+ B' D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) a9 L% M* e+ ~/ H9 T
{
$ u% g! ^( v- N+ Y" r3 e orgNode.parentNode.removeChild(orgNode);
1 P' d3 ?5 [4 R8 M/ B }
, `. k9 y, [+ W \" D1 Z }
0 r2 V/ D7 e+ p2 S }( \: P: P+ W# N! }: b
}! _% h$ N# V4 v3 _
}7 U9 t# K1 R5 w9 c: ]# Q+ k$ u; y
}
2 K* G0 }4 P/ B( H' f
$ O/ T1 ]" f1 `. c6 e: G7 L3 p' \# Z! J
& T# V# B# a( X0 r8 A var itemFrames = page.getElementsByTagName("frame");, N1 T' h2 g U' {
var itemiFrames = page.getElementsByTagName("iframe");7 h' V5 `4 P8 m0 W. R
" L! |/ k L/ S. i
var frame, iframe;
. s p4 R" v( i. A6 e, i7 x if (itemFrames.length > 0)
" B' p- f6 X0 c: o d {
d3 T+ F# `4 O# A9 _7 Y for (var i = 0 ; i< itemFrames.length ; i++)
3 t; [. X' U- D' P {
3 Z$ T% q# z) v8 _: b' M& s+ ]( T" ` frame = itemFrames.contentDocument;
; x5 g/ Z4 d6 s; j this.RemoveHide(frame,objname); - k$ }. T F' |* v" c
}. V1 q8 f* n! Q# R$ _# K3 Q
}# h$ o: ?+ m h ~! ~. d6 \
if (itemiFrames.length > 0)
" W! U0 z( ~1 J. s Z# @ {2 b0 R: d. m0 f3 H; X
for (var i = 0 ; i < itemiFrames.length ; i++) $ _0 \ q2 W5 C1 B. R
{
1 O! z) i/ E+ y p iframe = itemiFrames.contentDocument;
5 R1 F5 b" @. Y1 v- g this.RemoveHide(iframe,objname);
/ j" ^. |9 y+ K4 z5 A; n, V+ ?5 | }
6 ]" t: l7 x3 {5 k, T$ Q }" ~4 ]: i% |5 ]- Y' l8 ~3 o
}; i6 R S4 C) [
catch(e): ?% j: o+ J6 L0 i$ r
{
. s* @6 `1 a1 }0 H7 p W! Q if(debug)
! P: m* A) J, U {, S% X8 \2 m+ d0 m. h4 j3 Q( G* M
alert(e.message);. Q. h; u8 I# f0 H, H& |
}8 E3 K( k. E$ L) b' b7 H
}5 o4 H% [; J) k
}
8 K$ Y. T0 d ~% A7 s' g, G6 u 7 ~; }3 p+ Q" m, Z( E' k1 @. i# v( }
}% n$ Q' z) W5 g4 @, W/ C. c! ^
3 C* C) l# o9 l0 C. T4 @& Nfunction getRGB(colorString)
6 C9 A) q0 [! G8 ~ G' c{, {1 \" y2 w7 ?2 _/ z; V- ]
var RGB = new Array;2 p& }6 W0 ]# o0 ]
var tempSting=colorString.substring(4,colorString.length-1);& b0 l. D* p6 ^6 H2 j
var tempArray=tempSting.split(",");2 Z7 q# k/ ?$ E& g2 B
* u8 f% L* G: J( o# v' {; J
RGB[0]=parseInt(tempArray[0]);
3 v, x9 ^0 L2 z RGB[1]=parseInt(tempArray[1]);. J! u$ Y" R+ q2 {
RGB[2]=parseInt(tempArray[2]);
% [3 r) i" y& U/ ~1 f+ d ) t t" Q1 W- X
return RGB;
) `. _3 a7 e; E3 ^( ~9 \. N! V}3 F3 Z& h H$ |1 @! ?, a
function keys(evt) " G0 Y# y8 I8 Z* V# H2 j" Q% o
{
$ l* r2 b8 E/ O- B if(evt.ctrlKey && evt.keyCode=="81")
. P* L) ^5 Z: w6 _& J2 J { # P: E, ^9 C$ g6 x) L, \
CleanHideObj.on(0,1);; R0 W: C: K# B; n T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( Z0 k! o" Z; n* q0 F
3 r/ T; S/ \/ A" d }
y: }# B s* U. _ } 1 V( C9 v; W& X0 W7 d+ z
document.addEventListener('keydown', keys, false); & n7 ~& d) w) d
GM_registerMenuCommand ('Clean Hide',
, B# b4 ?5 X+ C, z9 f/ u* G, `function(e){/ P* P8 Q+ D4 p8 s Y. ]# w
CleanHideObj.on(0,1)
2 Q( u& _/ w+ T, d- Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
s* t7 k( H1 t+ N" A, u( ?});
' O' c6 I7 {, A3 Y+ K s" N% ] |
评分
-
查看全部评分
|