|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; ^" d4 d$ N5 S% M2 ?
5 M- I+ v+ U0 |) i y火狐插件,用猴子; w' x c# k% p% C- W% u
+ @7 T6 t0 f! O. U/ f. \$ T
var debug=false;
' {% |& z2 U1 B7 S hvar CleanHideObj=new CleanHideClass();
5 j- x- d" b K1 U
4 L1 k/ u/ P, C2 m# cfunction CleanHideClass()
/ v; ]# j( ?& p% d{ & p' L9 o! x! o( O9 M' U
2 `" v- A& f* |' ~" s this.on=function(id,bMZ)0 |. q9 v0 ]4 S8 `7 G$ L# r
{# v* [1 a+ H2 c8 F) C9 |' M2 A& F
3 b W9 Q% J) Q if(id == 0)
, Y6 A4 t/ m8 W+ x) w$ y {
0 c% f; b* }/ m! [) i7 p var page=/* document.getElementById("content").contentDocument */document;
5 n4 @2 s1 r& c/ t# p0 @ this.RemoveHide(page,"span");
3 u7 y3 s% ~0 i: x n this.RemoveHide(page,"font");
6 d9 T& x* Q, \ this.RemoveHide(page,"div");
+ z, @4 ^ Q* N# M9 M this.RemoveHide(page,"p");
5 }+ n" ~' X, c
2 w5 ]1 U" g) I$ Z }
+ s. L# I7 }' ^2 V0 F: {
: `3 z: E {8 g5 d% C }1 S( y5 I! t% k0 `8 M" A6 y' h
this.getobjstyle=function(node,prop)7 Z4 x* ?$ ~8 w$ \
{: j& }% u# ~% r6 b3 ~6 W8 R
try
0 k7 H+ R8 N9 A* n7 T! e6 q {2 m' x0 J, Y- F( E# Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. M/ F0 T2 b& m+ N9 ^, o }6 Q/ [% b( a2 M
catch(e)
, S' t' K% G% k; N {; d8 a( f5 }4 ]1 j+ ]
if(debug)' W8 q- i6 I, ~/ b' D8 f
{2 K. @0 o8 L9 ^
alert(e.message);
4 y" o; ~8 y" Z, L( s% i }. v& r- C* d4 d* j! r2 e( v
5 A- |. o& I$ v: h
return "200";+ B8 b) ~% K, u8 i* w& S
}1 T2 X, V' A' g! v, o# H: `4 V
}
! a/ H7 L7 b' \: u( h8 C
: z- h7 w5 h% n7 g' [ this.RemoveHide=function(page,objname)4 g5 Z8 `2 U) b- c4 J3 T; C3 p/ D
{7 P4 `9 U; u3 Z, [" ~7 A/ A
try* Z$ A9 D1 y& d' c0 }
{
- k4 K! r* M) _$ p% j3 q) p p var minValue=15;) s9 ?' K. V0 I x% U
var objs=page.getElementsByTagName(objname);
) d6 ^) @% K8 B5 ?6 |! t2 N
% J: w! n2 J& {$ k: u! Q3 a if(objs.length == 0) # p5 u) v" b p" @
{
0 I* j- k6 E6 d J% R if(debug)) V8 C4 B8 E6 O4 f ?+ v
{* F3 A% P8 }, [9 z; E2 a
alert("no object found!:"+objname);
/ M- [1 J1 {; m9 M$ C% | }6 B& C* N. f( k9 x0 x! P. m; G
}
6 ^' @* ]5 k! b. @/ b% O$ }! m' o0 g( l else
7 g {# \" S) g1 P0 Z {
; W3 n/ i3 K5 O$ H5 n0 _3 h
% }) |' f" E. U for(var i=objs.length-1;i>=0;i--)
) m k: b6 x6 K8 t {
2 y+ ?) r8 O- o7 e* B var node=objs.item(i);
' \; S. D+ f, m; i) E
) f2 D4 {( |, g, C g 6 ^9 |8 u# K h4 b
if(this.getobjstyle(node,"display") == "none" ||0 O$ R, J% E) X1 n4 a
this.getobjstyle(node,"visibility") =="hidden" ||3 h; N1 T+ m3 w" D
parseInt(this.getobjstyle(node,"font-size")) == 0) O1 x8 Z: G+ D7 }/ k8 |
{% V$ g$ R; T4 d7 n7 N0 V/ \
if(debug). B% I O! i4 r' [9 j% y
{+ P' i6 C# x& t. f" D+ N) p
alert("remove invisiable!");: I& h5 \! U9 u {- d5 D
}
* t+ Y- @3 Z- _2 j9 ~" ~3 d6 g: k node.parentNode.removeChild(node);9 {! j/ i& l& n) K9 q( |" f
: K$ b$ E) A, l( q! [& W5 p/ b3 t( R
}1 D# o* y" g; K# O% x/ O
else
9 [9 o& [& h4 G {
4 e. t8 K R2 F if(node.parentNode) 5 I3 X8 [$ D& ?
{
8 }0 l& i' I6 D0 I. Y var orgNode=node;
* Y: V% h9 L5 O" C& L var orgColor=this.getobjstyle(orgNode,"color")
F- l( ^. H0 ~1 B9 y var orgRGB=getRGB(orgColor);
+ J$ m4 b, u) Y " V/ f0 e2 u1 H3 X+ }, F
var parentNode=node.parentNode
l- h# ]9 u3 [5 ? var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ q5 E6 P5 n0 P0 H; d: e4 e8 y $ p' Z) k0 k6 J7 K3 h Y
var isLast=false;
* K! J) |8 c" b" j" R) N & E( A3 y' _, ?4 r
while(parentBgColor == "transparent") 2 u* _0 c) L7 L! j% P- |. I0 x. ^
{
. ^+ p2 ~% t$ S$ G( C% Z& }. } T 1 d3 J9 ]! L, P. k+ _4 L
& c l4 M f+ {' j$ ^
if(parentNode.parentNode == null)
! f% h- N5 `. ]# E {) ~- X3 w( o" q, P$ N% L
isLast=true;
% a8 d" z" D0 c break;- e0 z d9 `; m6 X
}
u+ s; n3 \/ E& E6 o/ J parentNode=parentNode.parentNode;
. H( @) t- X8 h4 u parentBgColor=this.getobjstyle(parentNode,"background-color");5 b% h ^! [# ~: O/ V1 n
0 l2 d6 v7 T6 U0 W7 a j
if(parentBgColor != "transparent")
9 a5 A* P# T5 T/ l. } {
8 @( c. W2 u C. p" W break;
1 K9 P- b7 Z3 n3 f1 L }* l) @' m8 }) e5 p2 v4 f' S" E
}* e! ?- d3 ~% W
if(isLast)
) n. I; s7 O5 ~0 P& D3 O4 }; T {
# T8 _" @: v4 g( j if(debug); t j A2 \+ m" }
{
8 g5 d4 ~8 B0 Q: a' L alert("last!!");
S/ q2 k/ R1 X# o3 |. R }; j6 S" }+ d" o( d6 G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 V2 f( z' v% C1 x, V8 x2 X
{
- S) H- R e- U" F orgNode.parentNode.removeChild(orgNode);
2 y+ U Q+ [% s2 n" r0 l2 G" } }) {0 d( n9 x+ ?# n
}6 t' L5 O- K. I+ C" ^7 x. t) S! F# X
else ^# P" E8 f$ i |* {6 {6 I7 v
{
2 p4 c+ Y, d; o2 @ if(debug)
1 Q5 A7 w$ O3 O0 Q, ~ {
2 K( g3 N& z2 W0 A6 P- s9 _ alert("compare color and parent bgcolor!");: S6 ]) y& M" Y7 ]4 R+ D
}+ `% n1 I$ \+ \; |: o, L. c
parentBgRGB=getRGB(parentBgColor);
, N2 U K+ z6 B1 g/ a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 }$ p% U9 K8 O {
1 p: \, }+ T T orgNode.parentNode.removeChild(orgNode);
9 X/ {$ s0 j. C' G }
$ g9 }8 V/ R6 |. [" d }/ e ?* h) l# _. q1 O' Z7 K
}
% D7 D' o) a2 J }
& L1 s! P; ]& N7 [. r }( a) @. ?$ a$ d
}
9 r; L6 L5 [! p% [- t7 Q* A# |/ [ - A" p! ~/ Z* m
# Q, l# w$ m Q1 K! v; A9 n% R
var itemFrames = page.getElementsByTagName("frame");; p& z) J8 _& o% q0 t( g! t
var itemiFrames = page.getElementsByTagName("iframe");
2 u6 E" J6 D4 {0 [+ X 1 S% s, m6 i' m! I
var frame, iframe;
: h8 e% y& a: p2 V if (itemFrames.length > 0)
4 O4 l. X8 G; w0 N/ i# w {6 M. _. v4 e) e) B. Q/ q
for (var i = 0 ; i< itemFrames.length ; i++)
. m! W" F& T9 A% x3 x {8 u6 Y, `: S. Y$ Z q2 B
frame = itemFrames.contentDocument;
, b9 c: I: G# \+ S- ~- S this.RemoveHide(frame,objname); \% o/ i; T9 T6 ?3 k8 t( b4 ^* ]
}
! P- ~$ i8 D8 y% V8 G2 I }
, h2 a$ p* m. w% `& Q% b. D- W' O if (itemiFrames.length > 0)
! \+ @7 a/ ~6 E. ?0 f- y& n6 Z {
0 H7 q4 }2 q0 y- G8 e; e5 ?1 [ for (var i = 0 ; i < itemiFrames.length ; i++) 0 ? Y1 I; G! e8 \! N! a
{
$ A1 k3 R# ^2 ~$ S iframe = itemiFrames.contentDocument;# c/ }9 K' e2 E
this.RemoveHide(iframe,objname); ' r6 Z( l$ q, |# l8 W% ~# W7 z
}/ Z% F2 Q. E& W+ t2 F
}
2 G, I$ n* S* K4 Q, n }3 V8 p: R) A9 _4 W
catch(e)1 V$ b) r8 w5 h8 ~1 X" B2 {
{
' X; y3 O; h# D2 h- [, V9 ^ if(debug)
! p$ I" U v0 l: {9 A {8 C2 }2 w' |' e3 O
alert(e.message);
& N/ b( b% U. J: K }
% D# U; W4 T& s- {, Q$ |0 [ }8 \3 K$ J* y7 F) u+ o
}
; [% Y; C- S5 `3 E9 l# [8 @
5 M2 i! F4 O/ n, ^, B W}
! h/ w4 D2 Z! |7 P4 o/ T( u7 ^& `/ S
function getRGB(colorString)6 C% ~" Q6 v' h
{
* F _8 R6 L# q. F u& l var RGB = new Array;
7 [2 o$ ~" r) s! ]! o& s var tempSting=colorString.substring(4,colorString.length-1);
1 `% e3 n- p" M$ V" A. w8 ` var tempArray=tempSting.split(",");3 o7 O2 m* R1 V5 p* O @% U, ^' ]
7 C# j" T U0 X: x; b8 Z3 |, X5 O! C RGB[0]=parseInt(tempArray[0]);9 r9 F: D' J, U, ]7 c7 U
RGB[1]=parseInt(tempArray[1]);
) Y" G7 S2 p$ s/ }+ Q: W0 E | RGB[2]=parseInt(tempArray[2]);
5 _1 C; }! Z% f+ F8 I - A' F- X6 E( Z- S$ T, l0 k& \
return RGB;0 ~6 F. Z4 G/ N1 r1 y) E5 B2 C
}
, a# }5 m3 B0 `% m" x2 H/ x. y! tfunction keys(evt) & Z$ [6 V) q/ `7 @+ A3 r6 v7 W1 y
{
4 W& I U8 h2 ]5 {% }5 y+ m1 J if(evt.ctrlKey && evt.keyCode=="81") 5 u& l; f2 w7 u: W" U) k7 K
{
1 Q% R! Z7 w6 i4 v k( N CleanHideObj.on(0,1);
1 T9 Z- q; [7 ^+ k/ h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 \$ E$ }' ?& K( N
8 C) e- _! O1 D: p+ S; M1 K L } . a8 G& Z# A5 d. M
}
! w5 u/ `9 z! ^! b V" ydocument.addEventListener('keydown', keys, false); ( M7 r4 i: q" ? |* R7 u) @+ e
GM_registerMenuCommand ('Clean Hide',
4 U; q( {* T( S7 c: U. |; Nfunction(e){5 o: A9 y0 P6 t/ A% k# u
CleanHideObj.on(0,1)
: x. X' G! p( P# Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); n( U' S4 w8 V6 ~ c
});
z/ _6 F5 r1 Q9 y |
评分
-
查看全部评分
|