|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 W& ^7 E$ [* Z7 O: z5 q5 l% i
, k7 e$ s9 C: E) n/ q T; L火狐插件,用猴子
4 t* u; e S' Y' d, A
! j4 I& Q$ \- N7 o4 J5 Lvar debug=false; * f; R g6 z$ z5 Q
var CleanHideObj=new CleanHideClass();
& K* N* v4 X. k5 y/ Q
" q1 j2 J7 \; x1 f: I* Nfunction CleanHideClass() 6 A R$ n7 {# k# A- [
{
1 h: y# Z& w3 N" h& `- p
2 }8 c3 D/ Z! a' T5 `& _) d" f this.on=function(id,bMZ), ^) w, g" I$ S I" k, x
{
- T1 p/ ?! }" L8 I! |2 Y
0 Q6 @6 J z$ j* n if(id == 0)$ M5 _, v% i* T" K1 \5 q
{
: {% |0 o0 g3 H( H9 [ var page=/* document.getElementById("content").contentDocument */document;
* m2 R2 q! N) Q9 n this.RemoveHide(page,"span");
; _. x! K- H$ {8 m% d this.RemoveHide(page,"font");% Q! o( }# f F# }* t$ v' P( t0 p! ~
this.RemoveHide(page,"div");( X9 i$ G6 H# w0 d: y5 ?7 x: e5 f
this.RemoveHide(page,"p");. p9 ?! [2 t' \$ x! T" C
4 U8 e* [% f1 V: s3 u" a- ] }
5 T) I( c. }. I" t
# E8 ?4 b5 e$ D6 K5 o) I/ d9 G }
1 _' C6 c5 Y% u8 e8 Y7 B this.getobjstyle=function(node,prop)
3 v# H; ?/ {) p5 k' w0 d {
$ ~5 X; }8 i: g% W9 V7 h try. D6 M5 x. \9 R2 P' ~
{4 L5 K5 f7 c0 i# z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ }. v8 f" t1 z! a [/ @0 Q: O
}
" X: f0 f/ E5 C; N/ Q catch(e)
* ?6 ~" v. t2 ] {
5 C6 N% |0 A! ^, G m+ u if(debug)
$ [ J1 A' @/ l% X& j2 M" |& F* q {
! m% u2 X+ |7 {; s6 { alert(e.message);$ D9 T' Z' B9 ?4 G7 ~4 @) ?+ L
}5 v9 P6 A( s; s, ~ F) i' d
2 C2 [! {( Z% L% F+ I return "200";
+ k9 q+ d6 L6 i' {; ^4 N }
7 N" a% Y' C8 ]" z! `! w7 X- m }
6 _4 D1 X) c2 f* ]4 p1 m
, E- @2 a2 \: U" B" b3 \4 c- ` this.RemoveHide=function(page,objname)$ l& E k' g! g6 J7 W. y
{
C1 `6 Z& i2 w try
3 R- _6 F2 {1 g7 Y F( @4 f {
6 x! m1 B- e2 v var minValue=15;
1 D8 Y: T( ?1 M! ^ var objs=page.getElementsByTagName(objname); 3 v& ?# i( R2 D8 A* R
3 r" y( K. h' ^. G( ^ if(objs.length == 0)
& ^; F: m$ K8 u7 Y% g {! f6 \& x A* b
if(debug)
$ Z% I( O' D% N# ]+ B, B W' u9 @ {0 F- e5 a4 M% r/ m& t& [
alert("no object found!:"+objname);
6 }5 k3 x/ i% f( \ }
0 J: L# Z' }, d }+ u' t5 J; q N
else9 T$ Y/ J! ~+ Q$ q& D9 F- ?# ^
{
4 U' c: t- R4 I. Y) x ' Y) z1 g) ~6 a. ~# {
for(var i=objs.length-1;i>=0;i--)
$ T+ b; Q3 L$ D9 o$ | {! e, G( s7 ]% G- F- K
var node=objs.item(i);
: w' M" N$ J. G' j / G* N' }( }! k
: b+ x2 q4 v8 T+ {( a& k
if(this.getobjstyle(node,"display") == "none" ||
3 i& b) G0 F* T% m4 s8 U0 x; m+ @, }8 D this.getobjstyle(node,"visibility") =="hidden" ||/ L$ P; c/ ?1 L3 s, W6 s7 i S2 {
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 O% q" A5 t1 N1 b [) Q& Y {9 o9 z! E; `% m4 A, O2 T& o5 k
if(debug)
! ]$ F+ X7 X0 G( D {
* w% b8 E& t7 m7 Y2 v' L alert("remove invisiable!");$ A" [& R0 Y, b5 \- I( p/ y( A
}5 r' Z0 W& T6 y, @$ G' T$ {
node.parentNode.removeChild(node);+ C2 N2 g" }: i) G* T( O
K: {8 e% C- i; N4 [" P! d
}( k) X2 ~2 N3 M! C
else
+ n+ Q: n0 }0 i8 w l/ s' g {3 Q$ Q2 h( f0 _
if(node.parentNode) ' p. U$ j# l/ w
{: `9 [. A2 S+ \7 K7 b3 A6 o
var orgNode=node;5 W/ t6 i, {: X; s. z
var orgColor=this.getobjstyle(orgNode,"color"): g: G* U/ {, b7 R
var orgRGB=getRGB(orgColor); # u) ?; T3 x4 i/ I- ]
) C! [' U0 E! W$ D) O2 @
var parentNode=node.parentNode' d3 l% m; ?- _( n m
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& x) {: J7 y- M 8 F( a& O' x' f
var isLast=false;- A6 @5 }0 U+ U' [2 e0 Y; o
" X4 l! ~& u6 A5 j
while(parentBgColor == "transparent")
. Q" F& o! B4 {& v, M {# E* W) f, x0 [+ g
5 G( r6 | e; S
2 N8 d( c( l A7 f. u" a if(parentNode.parentNode == null)2 n+ T+ A/ E; Q( F4 p% R4 o, M3 N
{
1 }( u/ A2 s! { isLast=true;
* ~$ H: Y) ]- u8 _& M- {& v! o break;0 l4 j6 F: U+ {. H8 P
}3 t9 n3 _3 T% }( Y6 P; x& k
parentNode=parentNode.parentNode;3 O1 i& j, N( w
parentBgColor=this.getobjstyle(parentNode,"background-color");
& j7 M/ p" q/ ~) `6 V8 w. y; g3 g8 |% b3 Q' c9 | [! O8 y
if(parentBgColor != "transparent") , K6 k7 F O9 \/ s7 I4 d: |- f
{1 G% R) {; q1 T
break;2 O( k+ N$ z o2 K- e
}
5 X8 \- x! g0 Y: s( k } H/ J; Y& f, W R6 n% ]
if(isLast)
2 x- u- V) x6 `. }2 \& z" s; X {
7 Y& x' [- q- P: J* b if(debug)
2 i9 Y( H) Y& m7 I6 w2 n4 f4 q {; u% Y# J f: g; z+ r
alert("last!!");
7 E+ S/ N( s8 x) c+ M4 R5 @) R }
$ E/ ], w, H5 J& D o$ | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( @; T. ~- O% i+ P) j! j# v
{. n, r& ]* u6 m- ^/ Q, _, l
orgNode.parentNode.removeChild(orgNode); . B0 ^4 o! k" ~8 P/ Y* ?
}
: e$ {& w+ x4 x I& s, t }9 h8 o7 v6 c$ a3 _# @
else
s. n7 e6 K" v6 y {
+ u/ w# l7 t$ E' ^ if(debug)) z8 v# b- }# r& F4 Q7 _
{
# ]4 d* y; [0 x% l9 `0 z alert("compare color and parent bgcolor!");
) d; r) ~2 ?" ] }
0 ~" ~. b3 g1 E" ?2 D l parentBgRGB=getRGB(parentBgColor);* k5 S! g8 k. i4 W3 o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! U" `; }/ N# {. R/ C+ p$ c3 T {- }6 H _1 Q* `
orgNode.parentNode.removeChild(orgNode); 2 R" Q5 Z3 Q! g- C- }. P/ K
}
2 `" l/ Q% R; N }1 ^: Y8 p7 ~- T4 F
}
% H" z( \6 n9 R8 f& v2 n9 \2 o }
0 W8 i& N# g& {2 o/ ~5 l1 h; C }' d3 j1 l7 R2 \# l" Y6 J
}
6 O' a, ]3 o# d7 {. a( v& l " k- F9 u% S* v5 l% I9 |6 i2 p
5 \ d9 u4 s5 Q% R# U/ C
var itemFrames = page.getElementsByTagName("frame");+ ^% j6 }* s6 W; i, H2 S% A
var itemiFrames = page.getElementsByTagName("iframe");* A* h! ~+ J1 r
( O, {: A1 a. f1 v
var frame, iframe;9 }! U/ K" u$ d$ G& T" j
if (itemFrames.length > 0)
+ i9 @- A, T: b( c {
1 m R4 h* g% {7 w9 t2 e2 h j3 W for (var i = 0 ; i< itemFrames.length ; i++) 2 h" D: P6 g* |2 H% Z! l
{
+ l) e* {/ P* o3 A0 k r T frame = itemFrames.contentDocument;3 }- w9 q/ j4 P- p. j/ w& i
this.RemoveHide(frame,objname); * U: |4 \* b- _3 [) N
}
7 W3 V" U* X7 s+ k; r% L }4 }" x+ n, x' X! Y# z. u) X9 v
if (itemiFrames.length > 0)1 d' c+ O6 y& _- \7 x* q
{
0 m7 g4 O; a4 a4 E! k3 E for (var i = 0 ; i < itemiFrames.length ; i++)
1 o8 H1 z* t( r* p+ E {1 f, g' C" M3 k$ k A
iframe = itemiFrames.contentDocument;
( |3 X- e8 V6 y1 O% o6 w' e this.RemoveHide(iframe,objname);
& C# i- h9 b5 R }
/ c7 Y! t6 [8 E. M. w }
" Q2 @! L3 j7 J% y1 d }) M8 O, l6 u/ t& h, l+ U& g3 _! i2 M1 K
catch(e)
6 }; q$ Q* g. X {9 M) O3 D# c& c: f1 h8 n0 G* o+ B' \
if(debug)
. S4 c) E. Q0 x, R0 X {
8 Q; J/ W0 R. T y$ ~3 f/ _ alert(e.message);2 I$ Q1 G! O. `7 j; Q# k: f5 b& ]
}
: N4 T4 }/ h9 n V) g5 l% {1 U }
% w3 s6 J( S$ ` }) g, C8 _* b& W" N5 D! E
. A6 K/ X* o8 j- i+ o1 N9 W, y}
5 h- n8 M2 L( m
1 y7 y: E. V2 [4 ?% `2 J5 p+ Xfunction getRGB(colorString)& x7 k% B& p5 v9 ~ S- c+ ^8 ^
{! F( l* O% u0 U! `! f
var RGB = new Array;
- M* @8 J: C; z+ _ var tempSting=colorString.substring(4,colorString.length-1);
/ d, b* h5 ^6 b9 Q) ]4 J var tempArray=tempSting.split(",");
0 G ^/ |: W! T/ A- ?2 I- ?0 \& r, p' R
RGB[0]=parseInt(tempArray[0]);
* l+ x; o' O- [1 H' D" O RGB[1]=parseInt(tempArray[1]);
' _& y0 D( Y7 S5 J0 u/ V; q7 S; a1 Y RGB[2]=parseInt(tempArray[2]);( r. E, ]" H2 Z) @
* s4 j6 c- [/ t return RGB;
/ [$ B3 H+ B' z3 Z; ?}
. w' O0 a6 Y9 j0 ?function keys(evt) ; C, F4 P$ H) y! b$ W" Y
{
) |8 J2 S" w. r7 I0 A) R if(evt.ctrlKey && evt.keyCode=="81")
& s& c- D' a0 b2 Z- B6 f/ B {
) S! D( E& L( w0 @ CleanHideObj.on(0,1);. K2 ^4 y; O$ r5 z8 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 K" }* k; S; i
- c& [7 a3 L/ I! M/ @& I
}
" w2 X0 Z( I, n2 R* p } 9 o* s* v0 e* v/ H
document.addEventListener('keydown', keys, false); $ k5 H3 m! |$ f. M/ ^
GM_registerMenuCommand ('Clean Hide',7 n# n# v+ q! v& c' I" W8 n
function(e){
& {! h& W9 q u' s0 O4 mCleanHideObj.on(0,1)# ]1 R; b* F" S$ G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; y6 r3 x) l7 u+ A$ K4 T. R});
5 @( c8 d1 c4 |5 Y$ M) c |
评分
-
查看全部评分
|