|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: C/ n8 ]- j, \1 g% p4 B8 D+ `0 M! c/ ^) Q8 y6 Y( \
火狐插件,用猴子0 g7 U/ H {& V4 p/ w% `" r4 n
, L' u$ v' j r. H; I% U
var debug=false;
+ p! j' h) K! f( Svar CleanHideObj=new CleanHideClass();4 ^2 A9 `- m/ h! @3 Y/ m
( y# U* ?2 C' q5 o, d
function CleanHideClass()
/ P, r0 N$ e; ^/ c& C{
; t/ \8 `2 ?' t- F5 X4 @ 6 A3 g" Z$ }( ~) V) P {# k
this.on=function(id,bMZ)6 o( e7 F1 Z( S0 F
{/ X! _' e/ v* V/ n
, X5 T# }; p/ o if(id == 0)
( Q; G! O F9 _ {( }1 ]+ N v4 m* \
var page=/* document.getElementById("content").contentDocument */document;
& m/ d) o0 [+ \# n1 H' { J% y9 }! _ this.RemoveHide(page,"span");
& |3 t' p& p: o- V this.RemoveHide(page,"font");
' z6 T# F* u' n2 C this.RemoveHide(page,"div");
3 x, t/ @; F6 z this.RemoveHide(page,"p");
% Z' C( ], ~% E6 X ! h, y U6 w& o( i5 G
}0 A8 N0 O1 [1 Q2 w
8 A0 ^+ e# p1 [/ _: o }
2 S5 G; A! U, q# ^ this.getobjstyle=function(node,prop)
; ~8 D: A3 q' J# s {2 w n" u* x$ Z3 A& w- R* K) d3 Q5 U
try7 g( l/ S6 W( p9 l! A
{6 I/ Q4 Q; H$ A. z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 A* a, g6 G/ P- L
}
: Z5 e9 y* ^- \0 x; N& d. G e0 R7 Y catch(e)
/ m4 P" P/ b/ ?0 R {& [8 o3 @3 B4 F: q" i. ?
if(debug)
: x- Q+ z# j. k% c; \7 W% N {/ y6 T- D9 C3 A& @% b. t
alert(e.message);: `/ i5 z+ ~& n: H* m
}6 n' _* n# ^! z7 K% G4 u
1 p m* n# U9 z: N return "200";
. r h* s. k7 r6 U }
q% k K/ J) V. j( D- p. A. J }
4 ]- h* H1 K& |- E' s8 D % ?2 f) M8 x6 o3 C. w3 P
this.RemoveHide=function(page,objname)* a/ c+ o6 X4 a, D% H: M, C+ N
{" s1 J A: a! w" A3 e. v7 _
try* ~$ Y8 [( k# x- e
{
! ^( W1 g0 c- S var minValue=15;
$ E9 L3 J4 o& h0 l' Q var objs=page.getElementsByTagName(objname);
) i1 _+ `/ T+ e7 r: u% j J
6 ` S6 ~6 d( i& Z if(objs.length == 0)
7 M) ^3 e" ~6 g6 k, q {
+ e$ ~5 L7 `9 N/ s if(debug)
/ z8 O; a0 ]0 X! P {; Q, E9 |& E8 v) m/ t! V
alert("no object found!:"+objname);9 E @1 Z, W- o1 X9 U
}5 M2 ? Q" s5 I' i
}+ r8 S, M! S- ]; J1 X& p
else
* @$ X+ i/ w! H; W) t8 u" S- Y$ T {. s6 L V) V3 G/ [8 W
: n" }( n( I7 L1 z! N+ t6 ~ for(var i=objs.length-1;i>=0;i--) # \. M# `. ]" i" {" {: L9 T
{9 ?, e! [5 l) e8 x
var node=objs.item(i); % \1 g; f7 {% N; l3 _
2 M: J2 Q, b" ]% _ , E1 J! ^; v6 a2 B# Y/ M$ Z
if(this.getobjstyle(node,"display") == "none" ||" d! o+ P7 j! f4 n
this.getobjstyle(node,"visibility") =="hidden" ||# v# m( S; a8 Z& n; M4 }2 X
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 n0 w. |7 R8 n& S. x
{# y- g J, L. m9 n9 D, X
if(debug)0 d/ n- w. i3 G' k
{5 m) @; R" U$ m4 ~5 {5 [; B2 V
alert("remove invisiable!");
1 ?' h: ~# p- F: M0 s9 ^ }7 Y) Y3 {( Q1 A+ D( k* q5 L- K
node.parentNode.removeChild(node);% B3 U4 f, S3 M9 l, B' I
+ q2 _( l" o+ e) m; w" ^, Z
}, F+ C) G7 O& w* K6 b0 H
else
- G6 _# X8 p) I+ L% { {
# H7 _) A' m' x: ~2 k2 f if(node.parentNode) 4 K7 v/ r& F' Y' U% g
{
& M* U2 m2 Y- h. i: U var orgNode=node;5 S# N' @6 |4 Y' u [
var orgColor=this.getobjstyle(orgNode,"color")
8 w8 N- J# u6 H0 ?" @: I1 C var orgRGB=getRGB(orgColor);
8 O2 a$ h4 T( u; v % w: J4 K$ {5 _2 h4 f a3 b/ h
var parentNode=node.parentNode
; O! S# y" u0 m var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 [) R0 g; K1 R, I9 r
: h; A4 q5 z' v0 x: M9 X" S var isLast=false;8 f7 _$ c/ U, a$ Q% u" z" s- h
" F7 | A! k4 {9 m% v" B/ J
while(parentBgColor == "transparent") / R1 a) Y- S @$ P+ h
{
2 P _! l- b" F3 g: m- S
. b8 I- ^; Y" w3 y# x- G- Q. s9 m, |3 X 9 q; D9 u1 ?& E. t; W
if(parentNode.parentNode == null)! ^( q) F( y% c' j9 D. r% {
{+ Q H+ N- `2 `! Y
isLast=true; A g; m' |) o0 q( X
break;
# `2 F, F) n5 J$ h0 M }$ R0 z0 @ K7 ]
parentNode=parentNode.parentNode;) M4 O3 C4 [# k: y1 X0 f
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 p1 c0 H1 X" j4 w
7 e4 S2 `! H4 g1 J if(parentBgColor != "transparent") 6 d& t4 |6 \: s: s2 r% D
{
5 E! r! x/ e8 C# D. c break;
' ~6 b' v% h2 G: ] }0 X. b- z! c$ d5 h0 F
}
& k* E( @7 w6 u# h: q8 w if(isLast)
5 V2 U+ a" Y2 }! g" f% A* p {
+ o$ V- h. S9 g if(debug)
, i/ L( O! I( d {6 X# e& J4 u. C$ X' d
alert("last!!");+ h/ {4 f7 {& z. Q0 k0 {- ~1 @& O
}% u0 F+ v7 Q6 ^" v- e1 D; A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 Q3 \' v% V4 A. Q" R+ ~8 M {" S7 e/ l: M4 j. P0 E: L
orgNode.parentNode.removeChild(orgNode); - N4 C& [; ?. m+ o
}
( Y2 n9 h5 X# g+ G) t0 J6 @ } F8 F( L2 g. e, }5 k" I( d
else
9 q3 p5 F1 w2 Y% A4 J$ i {6 y$ c0 K, s9 y) ? @; w
if(debug); }; n1 I: x' Q4 |, ?7 q0 w" G
{
) X" Y2 C& [3 X0 v alert("compare color and parent bgcolor!");
# E1 |* o2 j- q }
+ Y9 m0 O6 E8 z4 e parentBgRGB=getRGB(parentBgColor);
9 l( n' r3 e+ A8 s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 ^, _2 U7 C/ T6 J" _- u
{$ F7 ^4 b8 ?! U& E4 m& Z
orgNode.parentNode.removeChild(orgNode); 6 y2 e# x* A3 s
}
6 ]( n4 [" U7 ]$ Z" H: q e* P } e: l% h, X1 x3 r Z# ^7 u6 Q
}
9 ]9 S( ? _0 l3 a }
3 E2 X4 \* B+ S4 q* h1 O+ h }
' I# g3 i/ I) A% B6 N8 G9 u }
" z" y6 ?! s- B: L0 N6 d1 ` : u; g6 I' B& J: _
" J6 }' E$ t& s* {; } var itemFrames = page.getElementsByTagName("frame");
' m+ M8 z" g' M* t( d var itemiFrames = page.getElementsByTagName("iframe");* V4 O- {5 p4 s, i$ H% G
/ a7 Q, v' P& L; g var frame, iframe;6 I- r" |0 e2 J; A$ ~' a6 `
if (itemFrames.length > 0)
" G1 L% U' ^& C. e; p0 n- Q {
+ J, x* j$ j9 V8 J5 J2 h for (var i = 0 ; i< itemFrames.length ; i++)
" S( T5 z, @5 _) K# ` {
8 X- ^6 G. q9 | frame = itemFrames.contentDocument;+ p& G1 \( I2 J' r V/ J
this.RemoveHide(frame,objname); ( n+ ?! B# B/ n+ ?
}
' X, M9 G, r- i$ Q }
$ ]. C5 Y1 |& g+ y4 ? if (itemiFrames.length > 0)" E$ M' K2 o. F, {3 ~3 d; o- Z
{
; I& [* j; Z& Z, }* D for (var i = 0 ; i < itemiFrames.length ; i++) 9 w2 x" m, I+ k1 I8 Q) @+ ^
{
8 `6 }7 A& g6 m2 C. E9 j$ t6 q' u iframe = itemiFrames.contentDocument;9 s8 D ]. z; X7 q) x+ D8 w' s; h
this.RemoveHide(iframe,objname);
4 Z) r! l- n2 e7 X5 W; S }
* i8 k( A; ^ f: j }* D' z q$ G- _2 r' t" T
}, {/ A1 K3 o+ p; ?- R- x
catch(e)
j( D% J6 d; o9 A! X* \ {# p& u; I; i2 ^" P; ^ O7 d: c
if(debug)
( r+ {3 E9 g# k% ^) l, X {
" C0 t5 y2 w( v, N& j/ v alert(e.message);
+ E, R- G6 H W4 W }) n# f& m5 C H" Z- e" r; ^
}& _; J, A! E% g3 }4 ^% V
}
* V2 J! Q$ e, h 8 j2 p. A( [' a, B" _9 r& |
}' U" T+ E- T) `* Y" g
s7 B( _3 _' Y7 Q) C1 e6 F4 N( d4 g' Z
function getRGB(colorString)
8 E1 v |- N& g+ r4 G{
5 V: J @ Q. k& Q var RGB = new Array;
3 e; M9 M e2 j4 I+ v/ o$ N var tempSting=colorString.substring(4,colorString.length-1);
8 E. T5 e$ a3 ~0 s, M; k8 D var tempArray=tempSting.split(",");( ~; t8 E7 g7 r- ~* b
! |) k# D$ _3 f d$ d2 T' T3 R4 t: z5 `9 T RGB[0]=parseInt(tempArray[0]);
7 ?3 ~# t3 x7 ~' m. } RGB[1]=parseInt(tempArray[1]);. `/ `, S* z) U
RGB[2]=parseInt(tempArray[2]);) M, ]: v5 t! }7 {4 \
" K* p1 d# g) `8 S0 ] z6 V
return RGB;! F0 z3 W: ?6 a( j
}" D$ s5 w9 g1 F" G* c0 m2 } v# k2 |2 e
function keys(evt) / [- M& T% R5 f, ~: d5 W
{ 8 X1 |2 ]2 m: ~ o! i5 d, v
if(evt.ctrlKey && evt.keyCode=="81")
* J6 C- m( T+ O" t& @; r {
- s0 ] `/ D6 I CleanHideObj.on(0,1);& n b( ^$ h, [; m, u: O* S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * I/ L/ E1 ]- X7 x ^
1 d( q; L! Q9 w( j$ [
} 4 ]4 _+ S% y% g
}
; V' [% a9 w4 ?$ r$ kdocument.addEventListener('keydown', keys, false); 8 o6 {6 y9 _; a, m' `
GM_registerMenuCommand ('Clean Hide',
' Z1 Z: U+ w% {function(e){% v9 G* J9 K) b* C0 R( _
CleanHideObj.on(0,1)2 Z9 p- R, Q* Y7 l% Z" k6 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 V+ G2 C4 x# m});
. P I2 c0 P: b& G( E6 ]2 }1 E |
评分
-
查看全部评分
|