|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : @/ o' I: i. J
6 t3 T9 M3 f& \9 s火狐插件,用猴子9 Q7 b6 ?3 M6 `# C ^* J w
1 C; ]4 X5 X8 D/ t! l E+ ~: i, Bvar debug=false;
% ]9 Q1 H3 k( _2 `0 vvar CleanHideObj=new CleanHideClass();
$ I& J3 `) D5 M" n+ S: [% k3 Q: { Y( u* n f1 C5 F1 x+ J
function CleanHideClass()
0 F1 C# N( N# u0 l3 h{
+ ^8 ]7 a: X# Z $ R3 C" w* {: y2 w$ c5 S- @
this.on=function(id,bMZ)
- s7 w$ e \8 } {+ G k0 D2 _5 t* _7 e1 v
( J, m* Y; P5 m/ Y if(id == 0)+ i7 f2 Z3 o$ C
{2 @+ `% P2 H' i7 J! l
var page=/* document.getElementById("content").contentDocument */document; ( d# y% h- ~' C5 W( p
this.RemoveHide(page,"span");
" h8 v' x* F [$ u9 B7 L R this.RemoveHide(page,"font");" @# k! n' s' i
this.RemoveHide(page,"div");* @- `; p$ ]( I- I8 b6 {2 q
this.RemoveHide(page,"p");
( b- m# }( f+ a' R0 o1 V 0 |" ?7 }9 ^9 e u( I( k: P) X0 A
}% |% @7 z$ j* I# S
! ] f/ _! Y2 `* F8 Z" g# \/ f1 y }+ M( I0 r' @' X4 G( T
this.getobjstyle=function(node,prop)
+ d: I$ w' h7 Z% ]0 l {$ F+ }' f9 i8 o+ i0 s5 ], b
try5 A" H7 A2 l8 l# O
{4 @+ I3 h6 b+ I/ _0 U$ A! }8 }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: |9 U4 W; N5 }% b
}( t* {- t) i% G0 i: s
catch(e)
4 C# ~* L0 n) u2 q# z {
6 `8 ?7 ?8 ~/ t8 }, F4 R- ?3 v, c if(debug). E9 |# E5 }) u
{ Y i. E* ]0 t0 B1 H$ e- C5 z L6 S
alert(e.message);
; y; c/ k0 F5 Q: ? O1 W2 \ }
. l5 q D: G4 i* l8 }8 c
8 R" Y. T% R; A; I return "200";4 l6 J6 l2 O( B$ E6 q
}
9 \- z, ?5 Y4 a7 w }
* L* p+ O+ j% d& K: i; U$ v) P , P+ \4 F' W9 I, c$ G
this.RemoveHide=function(page,objname)* E8 J& G8 p. u" H7 s6 l( V3 V) D
{
: R8 \7 ~( s+ G3 H1 H try
* H" ?! K0 O' N. B1 ?- u8 j {/ c: g6 H7 v8 {* ~% C" L: o7 w* A
var minValue=15;' W7 G9 u/ R& Q$ O$ `7 u2 q
var objs=page.getElementsByTagName(objname); e% [/ n! D; Q7 |3 D
9 }; V( w3 `+ v, o# P- H$ L if(objs.length == 0)
6 ~5 r0 g. G- P f" }) }) `$ { {6 r6 [5 o& w, B6 E$ o! y% }
if(debug)
+ r% Y5 P% u% V, F/ m. F {
' t* u# |# C8 q1 B alert("no object found!:"+objname);3 s) H" {9 q2 P" u, t- `
}
( G3 x4 i9 x& I! j8 v. I }+ o4 R% V5 W+ t0 w4 T) u
else
# o5 x- Q# \2 w2 K {$ Q1 ^/ J6 g% M" b; e3 U
( A5 ~% e' n. d- p( H3 p
for(var i=objs.length-1;i>=0;i--)
1 v! z% e+ ~2 O! `/ A {
( f' @0 T0 B) M9 K var node=objs.item(i);
) A" e/ M1 |9 y * c% K) ~% O- B3 k
. j. [ ~4 p& K/ E/ m$ [; s( N if(this.getobjstyle(node,"display") == "none" ||
% M. {, Z& }1 r4 ?& }' w% R this.getobjstyle(node,"visibility") =="hidden" ||; q% ]: W6 Z2 F* y' t1 |
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 y: `7 H1 Z0 @) j
{
( `2 p5 N, B) i% q: I( b if(debug)( M( I7 ^% D' f$ p; x( @+ O& Z
{
7 L! O2 Y) x$ w. |( p! n4 b) b alert("remove invisiable!");$ l" Z0 _8 F+ \3 S8 a
}# T9 P1 @, }' [% r- h
node.parentNode.removeChild(node);
2 ^! X# [- W: Q, M. h7 z ! m ^0 n+ N8 E/ O$ I) z8 }% Z% ~
}) O l8 F# J; g5 s, B3 ]
else
1 Q% N. s o& {1 X k5 [6 o {% i4 i4 S v. y& [; j. Y( L
if(node.parentNode) $ Q/ d' G5 l: y% [
{
! y) n, ^4 k( z var orgNode=node;
$ m: u0 C+ s) Q* U1 ? R) Z5 B var orgColor=this.getobjstyle(orgNode,"color")9 K' F2 C! D1 C: W% Q4 P) ]% A
var orgRGB=getRGB(orgColor);
, `- y" m' v$ M0 n+ G+ W
1 \5 G+ ?& e9 C1 r var parentNode=node.parentNode* F4 N) Y1 g7 [8 C" m5 q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 Z" I) H6 O9 h) l5 U1 i0 g
0 N- y. y F+ r1 e8 h: Q* V; G7 y4 S) W var isLast=false;# ?2 a. _8 Z, o% u7 p
2 T, i! O. j7 g$ c while(parentBgColor == "transparent") " X5 ^- j* S6 e! d! `0 ]8 L
{# X C [9 H# ]; }& K% Z
$ T3 V: @3 j8 R+ B- A. g+ ^
" e' r4 e! ?' c. j( y3 D% q- T' v) w if(parentNode.parentNode == null)
* R1 f4 H6 Q$ u+ B: k' ~% x) S {. K' p( F0 \+ g' Z0 B5 z2 B3 A
isLast=true;
3 X2 Q" v" |+ |4 C" G* v( v1 y break;
: A+ ]0 K7 @$ ? }& \0 c0 n. d9 C9 h
parentNode=parentNode.parentNode;
/ O0 f; U/ i: m( _' ^ parentBgColor=this.getobjstyle(parentNode,"background-color");7 e" \8 f4 K: K+ r0 n
/ ~, b: X6 K6 |! y if(parentBgColor != "transparent")
- y" Q }7 A- ~* ?3 g {
M& M3 u, q7 z$ M9 Z: U break;
& g* H! T; V5 I Y8 J3 I }
, u6 v) ^/ G y1 a* D9 X- C }# T5 Z* G8 \/ N) X( u
if(isLast)
- S# E% F" S3 S3 p7 ?3 p {# a! `4 {% |0 {
if(debug)( n: y4 P/ G+ w( F- w, N- o1 q
{; C4 z8 s4 {! X7 @- X( C
alert("last!!");
# B) S7 d9 Q' p6 s0 m }
' g( |7 m. Q. Q: z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 ~1 i1 u' b# f {' Q" ^ @3 H+ F
orgNode.parentNode.removeChild(orgNode); 9 ]- C- u: d" {6 G* k
}
" ~( \) B9 T! g" h3 E }
, L3 I% A: I6 r1 m else" T+ N2 ^" { o8 o% K7 l) h" m
{
: p3 ^8 Y, B# F' E! D if(debug)
- w+ P l7 x+ O9 v4 E# t {
8 U; b' z7 U1 V% ^ alert("compare color and parent bgcolor!");' T- V8 |) P( N u/ B5 W, O8 K
}
/ r, x( z; Q- W( Y7 A parentBgRGB=getRGB(parentBgColor);
' p0 M, o' e/ \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% K; u8 e8 d; q& s$ L( r0 e/ K ~ {
" F( C: j1 i, K1 x5 n9 z orgNode.parentNode.removeChild(orgNode);
: `& s7 |* D i7 v }
1 ^% I5 Z6 Z* _. L }
1 r2 `" H1 [4 k$ ~+ @# l } | \2 f; K; W+ n
}
4 l0 Y0 _" \( ?; \ P: S( ?8 | }7 M- R" C2 a7 o- I! B$ `6 x
}
$ q A: |- ]) q9 t) z
5 N, }5 a' D; k/ |$ f4 O
! k4 P( H. y/ G q2 O4 A. ^: g0 R var itemFrames = page.getElementsByTagName("frame");
/ z6 S3 ?# P# `- P1 Z var itemiFrames = page.getElementsByTagName("iframe");) J& t$ k- b, {9 X6 |: s/ c
" h5 n- }& T9 _/ a
var frame, iframe;& F: n1 X: J! z. n( l, A
if (itemFrames.length > 0). `4 u( \" ]5 z
{
9 z% {! ?3 Y- x/ @" D for (var i = 0 ; i< itemFrames.length ; i++) 5 i7 E' G/ k i# E% a2 J4 N
{1 n0 `6 X, n# o4 F; W/ a
frame = itemFrames.contentDocument;' g, @( C( f0 O2 r
this.RemoveHide(frame,objname); . f9 _- c5 `- [$ D- i- L
}
; W$ P: m: W/ h! o- B* {! G }
. t! M* X! ?" _3 I if (itemiFrames.length > 0)) y2 n: e: S* C0 s
{
# t" |$ D& j1 ^6 b/ ~8 E6 g+ S for (var i = 0 ; i < itemiFrames.length ; i++) & H- \# ^* q/ g% B. M$ o
{
# i9 C7 E; U7 W6 v! o+ P iframe = itemiFrames.contentDocument;
0 Y* z$ r" K8 I& Q6 v this.RemoveHide(iframe,objname);
6 A( _$ }5 d! x' H7 O4 K }
( x( E0 B6 P2 ]' a; P3 H }& f- E* D' N% z$ a: F
}
& y3 i" k. N6 K: X catch(e)
, E. K" ~: B# H6 p9 O; C {
9 E2 H; I0 R) e% e, n if(debug)! L9 i! K/ r. i* C2 R
{
! o/ C- X5 T2 @* H alert(e.message);- j0 _4 |. `- y/ N+ Z7 K7 A+ O
}
9 ~+ ^, G( m5 L }
/ x9 b+ [% Q) U/ s8 |; m }' ^8 ?% V) r$ P& {5 U
9 f" V: e! K/ T& m$ b2 b
}- `" ?" y [' z
/ O. x. I5 Y0 l" u4 g
function getRGB(colorString)
6 C( J0 x o8 u i# Z" l- Z{+ w9 p& F; e% ~* M d
var RGB = new Array;0 S6 e; I3 h# W) b
var tempSting=colorString.substring(4,colorString.length-1);- Q& j9 a% w+ j7 t- I
var tempArray=tempSting.split(",");
( s5 f' j0 B r! R2 T5 d" L; E* T- c
RGB[0]=parseInt(tempArray[0]);" `4 M4 X! a0 X+ W# h7 Q5 K
RGB[1]=parseInt(tempArray[1]);
! o0 W8 Q8 M3 V0 F6 ` RGB[2]=parseInt(tempArray[2]);
% i0 t F1 z( b; M0 }/ @9 z- d 0 ^- A- k ]3 [0 ~, ` I+ O
return RGB;9 F0 z5 E3 C7 r! T1 l/ Y: \; \
}
! s. l# w8 S2 ffunction keys(evt)
$ J4 ?8 R& Z$ u1 L) R {
T V# ^2 b' T; ~& l3 B0 w if(evt.ctrlKey && evt.keyCode=="81") # S# k5 H4 o4 p0 n+ h
{ , r \/ E# [, a8 P4 ?5 Q
CleanHideObj.on(0,1);3 P6 F. ^7 {% O7 n7 Z, h) j2 H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , v, o l$ y7 `" _/ K
' i' ~1 }. s F5 R0 g, h; O$ ~ } 9 ~4 A+ }# j$ g6 ?4 G$ T
} s2 p* @6 U% `. B/ R9 e% y4 V
document.addEventListener('keydown', keys, false); * m$ f" {+ l$ s$ b7 b# M
GM_registerMenuCommand ('Clean Hide',9 @; a0 t" S' I; [5 a; u
function(e){
5 C& R( ]1 S1 ZCleanHideObj.on(0,1)8 O; E% l. V' S- z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 {! b+ z& F% W$ D8 F# ]
});
- B" j- W; Y9 `# ~ |
评分
-
查看全部评分
|