|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 q( i4 V2 T* O! m& w9 d, E7 V- n
3 H) x) n! _# b4 b火狐插件,用猴子& ` {: K$ }! D
9 r- a9 Z0 X8 ^2 \4 a# i4 h
var debug=false;
" a& Q. u- X# Lvar CleanHideObj=new CleanHideClass();) f/ \/ T+ @/ M0 } g3 Y
- i- ]/ _+ c$ l
function CleanHideClass() / f9 o1 ^) ~) c! r
{ + x+ r% ?! ?2 d2 t, p7 Q
- Z$ D7 y9 P3 G, ~9 W$ u$ R
this.on=function(id,bMZ)
V; B6 t; V; o: X; E* e1 e {
$ {1 [+ \! v8 |7 w3 R+ T 5 x9 W. S: B$ I8 c& e4 c
if(id == 0)
/ ~! C {: H) n# k" t I {
- |$ z$ {1 e: I var page=/* document.getElementById("content").contentDocument */document; " @3 z+ I% d8 p/ ^$ u+ |7 U& ~
this.RemoveHide(page,"span");- k1 P3 Q; e: Y3 \
this.RemoveHide(page,"font");
$ Y# _; X0 ^% a7 u this.RemoveHide(page,"div");
& o2 |) q- J7 r+ t8 G: u6 U this.RemoveHide(page,"p");! k& y% J) [7 X8 I4 a1 c
S9 A' y; K" I/ a8 K }
4 N: V# d# ?$ L5 u, M6 L8 \6 @ + a( ?3 I1 ?9 T
}( E6 B' s4 g8 G2 [0 B) E: |
this.getobjstyle=function(node,prop)) s" w+ O' g; G8 ^3 c
{
+ g6 h7 _5 X0 R try
6 h; e8 b" Y; w {1 G" Y3 o" z/ a" S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 e) G0 ^. T- t& u
}6 W8 i2 ~, I# U" b
catch(e)
- V5 A6 c! P; @: P {
: t0 X5 Q+ F; ?1 q2 G# N, d8 i8 o, d+ q if(debug)0 u5 s! f/ m. Y# e A
{* U M6 o4 z; p6 ~
alert(e.message);
4 e2 U G9 H$ R# L& R }8 Q4 \$ w p* @ j% ^
, p$ J9 X# h* C) x# j
return "200";0 W x3 p }& b/ Y' P$ F
}
/ P7 j6 \& G% H/ v4 W7 Q! \ }
9 D4 N; ? L. b' o& n& \
7 r2 R2 ~* S) X5 o, I% e$ ] this.RemoveHide=function(page,objname)
+ X1 c' @7 u/ e+ c; P( Y( E {& @; [, X4 f/ F( c
try
# y6 r# V$ }- u0 R" L8 ?" H2 a {8 ?: {3 Z$ {( y9 R! f
var minValue=15;
- g/ K$ Y: n8 b/ h0 M var objs=page.getElementsByTagName(objname);
0 A& ~3 J+ q3 a M1 r8 w' O# [) l, B* r3 |. O4 I
if(objs.length == 0) # I' o, J% i5 t# W8 A9 w
{
2 E5 ^' f+ O2 Z# ^, Q" o: U" }3 M if(debug), G. [: U* \1 G$ P) [, D# O) v
{/ P. C6 R9 Z2 `% f9 `
alert("no object found!:"+objname);
4 O/ Y9 z7 n/ e. y( f9 v) g1 x( I }
7 q6 T% v8 { I" p* Y5 @ }
# e" W9 c5 G4 Q1 L0 f1 L else
" b: b, [# g% Y0 p# _ {, V! R7 e1 l! o. _
. T% L$ J9 x& l for(var i=objs.length-1;i>=0;i--) 0 h) H) J) T$ U# C- @: a* U- [- u8 Q
{1 ?; y. e3 N8 i3 H( O
var node=objs.item(i);
8 i9 W% U' P7 X8 V/ L( V' l
# f, f2 l# G& n( A5 s
- q7 x7 D& B' X, p. H) h; v if(this.getobjstyle(node,"display") == "none" ||
' p/ z' ]% ~/ h/ k8 P- W3 j, S0 o8 t this.getobjstyle(node,"visibility") =="hidden" ||
9 v. h1 ^! _5 i( `0 C7 f parseInt(this.getobjstyle(node,"font-size")) == 0) & M1 X6 E a0 Z% E# A* [
{1 p0 [# X0 f Y- K, c/ t2 K$ a7 v
if(debug)( U, C7 e9 G9 O# b
{- ^- |; |' G) N. m) q/ i
alert("remove invisiable!");
3 w% f$ _: C8 G" B: K1 G' t }
% e! y& p" T0 m" J node.parentNode.removeChild(node);. w) Y+ d. l2 D- Q% g6 E
& l* t( O8 ^' A6 s }
- s7 Y5 |; d1 a- ?. l- q# B else + X/ j$ S" z2 q# e5 ?9 o
{
- h; P( d* x0 E0 f4 y if(node.parentNode)
, W; t5 o2 \! Q) V5 t6 b! o {
) ?! _: S- N! U y8 K; | var orgNode=node;0 T m0 J1 r: P/ I/ D
var orgColor=this.getobjstyle(orgNode,"color")0 P; Z; }1 O# m: W2 T; i+ S" G
var orgRGB=getRGB(orgColor);
3 u/ O6 J6 n* h5 R3 c3 E- W$ Y! } 3 q# L% C- O" J3 U+ `9 n& ~
var parentNode=node.parentNode/ e! R2 [+ O6 G) x" ~
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! @" O, B, o J
# W' N0 }! B; F$ \ var isLast=false;
! U# z- Q6 e9 { $ T: @; `: V4 d% j- \1 f# t
while(parentBgColor == "transparent") 3 N9 x; a- s- D0 u6 j; |* G- y
{
, w# Q. b* o0 Y; k) ` P2 N3 V
% i! W" j! S/ P7 K( U+ g8 [% B) J $ |5 B/ a+ a- E
if(parentNode.parentNode == null)
, ]# k5 D2 U4 a+ Q5 l1 [/ _ {
9 Z9 s5 z; A" O- Y* D isLast=true;
! k8 q& p+ Q4 h# X U; e m# Z9 Q3 r break;
7 [0 I7 k- n0 k4 n$ w }
6 w* J, b) j3 s5 J" i4 Z" q parentNode=parentNode.parentNode;
6 M" m9 R# b0 \* u parentBgColor=this.getobjstyle(parentNode,"background-color");
* |+ N4 g& X9 u5 r! L1 _* D) c! i w7 {/ P6 ~9 W M
if(parentBgColor != "transparent") : }* Z) K+ D! y. Z* p. ]% ]3 \
{
6 l! U1 i t) f; N break;
, `! S1 J5 J4 l- P& u* x' \1 f, K }
: u4 t: W/ n( C7 E3 y0 V }' ~3 o. \2 G2 d
if(isLast) + J- c' B. l4 Y& z2 C
{
- p% M* m9 m2 A3 O if(debug)
, v/ p3 ]- J4 J' S; N {
+ Y- H1 f9 D$ m$ F( E c alert("last!!");* z# F- t+ `$ X$ |9 a& B
}, y9 ]7 o$ W5 q; z1 p( K& @* l1 g
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: g2 ~& A, I6 g6 r2 n& h6 n9 B0 p {) ]% R3 c1 r: U' z/ h. ?7 s
orgNode.parentNode.removeChild(orgNode); ' l! J7 x1 m7 }2 d
}# e7 m4 o, \; t2 z' k
}
2 _- _* n& ]3 ] else$ I) z2 [* h! S, |. R( i
{
, n! U8 C: W9 G& h if(debug)
0 L5 q6 y4 t" v7 E r, R: { {+ s+ D) f/ D! W% s+ X3 ?, E
alert("compare color and parent bgcolor!");
5 R: S5 T. v/ N }
& g$ C& B& U P" _1 a+ l parentBgRGB=getRGB(parentBgColor);
3 v# p" X/ o+ J6 S. v6 o7 I; X/ n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): P$ K' j f+ k' q. p
{
) Z3 [' f* }8 E5 c orgNode.parentNode.removeChild(orgNode);
8 B* y: c2 V2 ^ }
6 {8 z/ x+ w! h+ C8 ]6 H }0 [# | U9 G! `; P0 Z Q9 b
}8 z o8 S7 I, u0 N: z( G, A& T* m. b
}" p) S5 l3 p$ I, G7 o" U+ N J
}; W/ d& _4 \. P& P, j! B2 _. S
}
8 ~2 J/ X* I8 ^; U! r & J% z) @: i. K+ ]
( G3 ~* I; \7 D! P
var itemFrames = page.getElementsByTagName("frame");
& _' @9 H. i( F var itemiFrames = page.getElementsByTagName("iframe");" b! h- |) R$ U! W& _2 q
6 A C# b! X* G" C+ I# L- G; u2 Q! J
var frame, iframe;5 c7 b n7 q/ c) [' E4 q) L
if (itemFrames.length > 0)+ q& @5 K' W, `1 s7 C7 l
{1 d# Z/ W0 e/ h& c! S9 w- q
for (var i = 0 ; i< itemFrames.length ; i++) 7 }0 |. T& u9 t
{
' F: g% S |5 N1 q1 c: i$ | frame = itemFrames.contentDocument;
2 [$ w p$ }; M- {. o this.RemoveHide(frame,objname);
2 h3 @3 Q- q4 J) @2 t' b9 u2 B }% y0 ~+ C( R8 R& Y& e' Y7 `! R
}
4 `( s* n" C0 M- u1 C if (itemiFrames.length > 0)6 O) V, t! q2 C/ Y4 o
{
! J& r( |( N% b2 C+ }( I& }# W; Q8 L for (var i = 0 ; i < itemiFrames.length ; i++) # B) Y8 O. B- ]2 h$ S% Z
{
" ^# @& k* ~7 B `' A& m5 O iframe = itemiFrames.contentDocument;- T( S) v# m* S, R/ {/ U. p# T
this.RemoveHide(iframe,objname);
9 c, P7 U% R. _( l J4 }+ P- g p }
9 k {6 a: a. F$ e7 N }
- l4 }% D' D% M5 [+ t5 a. u& P }
% w7 B3 H" j# I catch(e)
j/ r1 q0 o' `: z8 N {
1 I7 v/ o8 _# Q5 B if(debug)
. Q0 @+ Y8 V( f5 y% X {3 i, B: r" H! T
alert(e.message);' u, c% F: `& \
}
0 y# u7 m2 s" r, `# l" J }$ p0 V9 m1 m5 L& W2 V! G& M
}* v5 n* o' J: @8 @' S$ d5 q0 n
1 _; n+ ]) i, h1 H2 [: b5 p1 A}
3 t! m; j& X3 R4 O, n! M
1 i2 t' R& W3 b2 t! Gfunction getRGB(colorString)
. r; m, V( U% z9 g) o9 x# \- H3 O{
7 {" r$ t! p% A var RGB = new Array;1 k0 G5 p! Y# x9 b' O
var tempSting=colorString.substring(4,colorString.length-1);' z) @% V: `' a2 @0 D
var tempArray=tempSting.split(",");
2 d4 m- X; C$ ]. V C+ e
" N: p8 G; @7 t9 y Y RGB[0]=parseInt(tempArray[0]);$ Y K# p+ H3 W
RGB[1]=parseInt(tempArray[1]);
9 e5 G- y7 S" Z$ {/ G: N RGB[2]=parseInt(tempArray[2]);( Q! i4 u0 h2 B4 }) j: d* q" f
; j, W& q: V- ^( @2 G return RGB;
4 m+ f% K7 s( j$ }' }}
( N5 u; v# g, ^- lfunction keys(evt)
7 i7 u, x6 \- o; x6 z s% t6 [" b {
; @0 m2 j! I& j! Q) `# A! \9 c9 P if(evt.ctrlKey && evt.keyCode=="81")
+ @, \3 Z* ]( I g {
$ _' |0 k; i; I CleanHideObj.on(0,1);
' C8 ] `) S" U; v7 h, m3 }! o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 L4 ?* V; h4 V9 ^
" S7 I( C# `( J' ~ } @2 b0 [# f4 z- _& y- n1 `8 d
}
3 L+ r+ n! B6 F; H/ q" S3 T3 rdocument.addEventListener('keydown', keys, false); 8 x) D& J8 c; `& `* H
GM_registerMenuCommand ('Clean Hide', U) S- d- p; m* h, E$ a1 O, v0 {7 D
function(e){
# ~+ r/ @% P% D) u1 DCleanHideObj.on(0,1)
8 ^9 [; \. [# q) Ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 [% ?4 }6 N$ P5 c});
5 o! t- B1 j, {9 `* r5 R |
评分
-
查看全部评分
|