|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) G2 \ ?/ `: o5 {) C: i0 }2 o3 o% {9 P0 f* Y1 m" E/ X
火狐插件,用猴子; x( ]6 B3 t+ m+ P7 n
- f9 @: M$ G6 | F3 v' s$ j
var debug=false;
j3 L& c& a4 N0 R! g" o, n5 |, A9 hvar CleanHideObj=new CleanHideClass();2 r( C0 C! r6 w* _) J7 f4 x
) y' t0 v3 g2 mfunction CleanHideClass()
; x$ s6 f- w. H{
" t0 L# I+ K& R- Q3 D7 v6 q8 R
) V8 L( o$ m7 }+ @9 f1 |/ y! U this.on=function(id,bMZ)
* Q- p, j( c' G% O% \. Z4 R0 W- y# b0 E {9 I! n3 }7 C; a I. K: J( h1 n9 W! z; {
4 m7 K- s4 b% i7 L- u) ~ if(id == 0)) s3 r) j0 c! t8 l) D3 F) h
{" S7 ]6 Q9 A3 F; j, I5 a2 N, i
var page=/* document.getElementById("content").contentDocument */document; 9 c [1 v& G5 N4 C
this.RemoveHide(page,"span");
' q( j$ Y4 S2 p7 X0 l& | this.RemoveHide(page,"font");, H% M7 B: g! S5 c/ \5 H
this.RemoveHide(page,"div");; l! G$ E6 z# g& d
this.RemoveHide(page,"p");
4 ^3 R- Y# y+ j% J( X# P
1 S: F+ L7 e1 E, B }
6 E/ m5 e/ y5 ?. k4 u9 y: b ; m7 y4 @0 P/ c( @5 Z* P) m$ \. ~
}+ h" A+ G% Y" X4 Y( e
this.getobjstyle=function(node,prop)
) F j/ `6 s- u! X0 e, X {% ^7 s/ \( E' c2 a, K
try
- b% @2 b! V3 G3 V {
- w( a0 R* T* e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 M1 ?: S/ p0 g: b4 K. y
}
3 @/ ~) S$ _ V! g catch(e)/ C9 u9 `5 m9 M
{
7 c' e5 E* |+ a. k* f if(debug)
/ O. F2 n" t6 y* `- ^ {. B: \- r9 j* U+ W% f- B
alert(e.message);
% A$ n( I& R2 q5 j- | }6 R; {( o% g* r/ B. w) j) b
! I+ [/ ? o& N! g: C# y! k return "200";5 G! K" \# S2 l- [# Y
}
4 I+ E; f0 B' {/ N$ ]6 ~8 x( Y/ T }0 J6 v( f& S0 O& f* ^% P& l
+ [( G$ S& N/ N4 B7 i2 B
this.RemoveHide=function(page,objname)3 l( i- o- S' Y+ V' X
{) d0 w- u1 r8 K% w+ M% L5 N. J
try: p+ B% J6 i7 c H5 Q: q. w
{( E! {; _- I( b! B
var minValue=15;4 p4 y1 u' D! K' H2 K
var objs=page.getElementsByTagName(objname);
; p# b0 k4 z( {0 D8 Z3 }5 Q, y5 B% n' G u! E5 [
if(objs.length == 0) . J0 R% Y$ q7 c z# C" v
{
6 S/ O- }2 d5 Z' t% L if(debug)
6 o. `- N8 P, o# @8 h {
% r$ F# P8 {. F9 S& T alert("no object found!:"+objname);& Z+ g5 R. ^. X; u' g8 ^
}
. K/ D! X; k3 X }
( J9 y5 j; q+ t! {( j else) R1 T& U) l) U U! N) ?
{7 O. t; E, M7 O& G
6 @. U( Y# E# G; K) P/ |
for(var i=objs.length-1;i>=0;i--)
, E- }7 N' _+ u$ ^& N {1 B D% Q. x/ \: w% n
var node=objs.item(i);
" x% d! R8 Q S3 g1 q
" t6 G0 ?* m, [/ m$ N X* N9 ]( k
: ?: Y: c% M; I! x if(this.getobjstyle(node,"display") == "none" ||' t& @0 u h4 m" [) k. F& E
this.getobjstyle(node,"visibility") =="hidden" ||
6 @( ~4 K& I& D* b" k parseInt(this.getobjstyle(node,"font-size")) == 0)
- G' U& b7 c) `2 i" t. S% l3 c {% R0 ^0 G$ @7 {$ w5 h
if(debug)
% v0 q* G7 Q1 T {
6 b0 h A+ O. }1 \; K) O alert("remove invisiable!");
; s5 Y3 {7 y& B) t }
( K! x* c3 j) a9 s' K node.parentNode.removeChild(node);
/ ~1 g2 \2 [$ D 8 ]8 K+ ^! R% l8 x3 ~$ {3 u
}% e) L# C8 s- A$ c
else
7 P/ R1 H( R: B5 A+ W+ c2 W {
D9 C: i( [8 b1 Q, Y4 l$ \5 L if(node.parentNode) ' H% ?# y& l% B- d- {
{
$ L. `6 W6 u6 x4 {7 m9 j+ } var orgNode=node;
3 ~. R% q8 n7 C( ^ var orgColor=this.getobjstyle(orgNode,"color"), \: c5 |' h8 M
var orgRGB=getRGB(orgColor); + }# c4 ]* k* B: l
. s9 x( o) X$ p9 v5 _9 i6 V4 u var parentNode=node.parentNode
0 U# a& x) K0 }0 U- s2 `' V+ P var parentBgColor=this.getobjstyle(parentNode,"background-color");: e! t9 q+ ~; t% k% [* u
* S' g6 Z( m- L7 ` var isLast=false;
B" D) ?. [! Y0 k9 z3 _. h, l
! O) N0 y" I: Y# Q while(parentBgColor == "transparent") ! k' j1 s9 U5 x' r3 \: O; z
{
) s. i- o: F! q1 s2 g + [' d$ Q% C e3 d* x
' ]' Z! \: `9 G z2 z if(parentNode.parentNode == null)8 s; t& n7 ^* M0 r3 V
{
n& t) ^/ [- I0 [4 t2 c( _ isLast=true;
: B" B/ ~& d" Z# |+ }1 l% d break;
) ~! @! j' C% @( l- X! J& h7 U }
; |6 ^2 e# l; H$ D1 e+ H; n8 b/ B parentNode=parentNode.parentNode;
3 p& a" P; i- f parentBgColor=this.getobjstyle(parentNode,"background-color");
- c5 ?4 M/ r) `' S* d9 \+ r% Q, U E5 P
if(parentBgColor != "transparent")
" k, {6 r0 Z& M/ p {( c& r E4 R7 {
break;, P }( i" _3 o3 U4 J x$ y2 @
}8 _. D" ]* F8 [
}# |5 k( v Y9 f" } [
if(isLast)
1 c# U, i0 k8 }# P( ~2 g2 H {
6 q7 t5 Z/ v! t8 }" u if(debug)
, q# s7 U" Z Q9 j/ M {
& w& s0 d0 ]' ~/ f0 Z2 B alert("last!!");
, A/ j: X# W" Y2 U/ s }' l1 W9 q3 ]3 y5 S+ S p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 w( D* Q2 P# I5 N% X8 {9 h) u0 N {1 ~1 `) K, N- J5 B
orgNode.parentNode.removeChild(orgNode);
) g* q. t" b$ q8 e* n! [ } K! m; q' z; k) ^9 Y
}
. e, |( k# ]6 ?, w! ~7 j else
) I' c% x) r3 C" u, b( I7 \/ h {: F6 A" L1 ?: X! j" G
if(debug)
8 ~# t: Y" V! k/ S0 ?4 e; I( D {
' M# ?: B. C8 G V2 O" j alert("compare color and parent bgcolor!");
' g) {: c9 L7 @ }- u& | W* U* n- Z
parentBgRGB=getRGB(parentBgColor);
$ I8 j6 N: _, K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 v, s5 `. j+ I8 U {
1 D( j, a, O4 g( w# i& a$ _. f" _9 E' u orgNode.parentNode.removeChild(orgNode); % x/ ?- r7 {0 @9 |" D
}2 k6 ?/ D" u6 X& q4 W6 `
}
$ w( w# @$ z) `- D; b3 j3 o }
9 a6 |, _4 \' ?+ @8 L }
, h, g! Z- ^) M( T S }0 ~% P3 s0 S+ p. a2 e
}
) J- S/ H% Y" q
5 X/ n: H; T& w4 v+ w1 d ' F* i6 T3 \( C+ |2 H& A3 U8 K
var itemFrames = page.getElementsByTagName("frame");
( O/ _5 Z5 s' }; M8 e& H6 l8 F var itemiFrames = page.getElementsByTagName("iframe");. Z( r# D) Y1 A+ f% |( P/ _, f" g
4 V: @- }6 p9 B/ g9 k O var frame, iframe;! L! {; x# c6 a; I* {9 A ?
if (itemFrames.length > 0)
7 Y+ N: T- l2 D9 C2 b6 U% I5 h2 v( B1 i {
, T( U* j& p5 K for (var i = 0 ; i< itemFrames.length ; i++) % {9 G3 ^, o5 \) P3 E0 g
{* X6 o& X. r2 D* X$ V
frame = itemFrames.contentDocument;2 { \7 F% Y4 `
this.RemoveHide(frame,objname); ! B, ^! I+ G% q5 ]
}
* {; x- ?( [4 N# z5 g; ` }
' [# M: x1 O; F5 R if (itemiFrames.length > 0)3 ]+ x8 ], y2 }' ]& v( I
{( s, t+ @" u* f8 H2 t# f
for (var i = 0 ; i < itemiFrames.length ; i++)
R- N( _6 L3 h( u% W {
; ?) h0 \; q+ W! G# ^) f7 a iframe = itemiFrames.contentDocument;4 q. e/ D. |, H- G7 j4 ?2 l% H
this.RemoveHide(iframe,objname);
1 X/ q! u/ I, w' {- g5 r } ]' @) f! L6 q4 z* B
}
. G& o1 S" ?8 l( [ }/ C+ c6 U; t( W
catch(e)! j- G B$ L1 ]( z& r/ `
{8 Q2 N8 o0 P p% f/ a# Z
if(debug)2 t; N3 `% [1 }# H; T
{* l! c! ^2 l) S+ Z1 F. z" w( p: S7 Q
alert(e.message);
! K! l8 @# E) v; ^, Q% d }
/ q: Z6 Y5 n* ~ }" W$ \) C' ~& y
}
% h1 G4 `/ j( t/ C
7 |' U1 @, }& H# D}
+ b8 R: m8 u: H, X0 C: n8 x6 X7 K, ~
function getRGB(colorString)" t- @1 J1 F$ N
{. r% j( ~% Z# ?! `! @
var RGB = new Array;, I$ S2 R }! X. [3 O9 {
var tempSting=colorString.substring(4,colorString.length-1);
9 t) S1 W+ Q0 } var tempArray=tempSting.split(",");* i4 C( l/ _7 ~
9 f8 w, P8 Q" i# D; o- v RGB[0]=parseInt(tempArray[0]);
# y' X8 a% K& ` RGB[1]=parseInt(tempArray[1]);* S& a5 M& ?0 w
RGB[2]=parseInt(tempArray[2]);
0 q' \& ^/ q' O/ B 7 v) j: J5 I7 o/ h V- s4 m$ t1 Z
return RGB;7 v$ Y- I; K, A: O6 m, m; W0 `
}7 @ I: q" v* c5 W) k" z) k
function keys(evt)
t, i4 `5 t6 s7 U1 l6 | {
) Z) T3 C5 y3 j7 ] [ if(evt.ctrlKey && evt.keyCode=="81") # p) L g# o% S% p( O; y
{ 5 I3 k8 i W/ w2 b
CleanHideObj.on(0,1);+ G& r; s2 h, e3 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 K% s3 I; }! h9 K4 [' Y5 H, K
* Q+ e) t9 A( u! v7 F! l }
) Q, @& P+ q2 Z! f1 X { } + D- G3 q% l0 h8 ~/ C
document.addEventListener('keydown', keys, false); : @6 n; X, m% {/ l1 I# x
GM_registerMenuCommand ('Clean Hide',* P/ K0 z! z$ k% C3 j) m) k
function(e){) ]) }+ v" c# h' ~7 E: y
CleanHideObj.on(0,1)* o2 I5 i+ c5 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 R* h$ l, Y0 h0 \: W5 b+ r
});/ v9 ?5 ?$ H3 Z0 z& }# l
|
评分
-
查看全部评分
|