|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 t$ @0 I! |# t, U0 D& ~
( Z2 T. F( f; [. o" j8 t! F7 Z火狐插件,用猴子
- F3 y% m/ q1 _8 ?! g7 A7 }- a6 h* b
6 q6 r+ J8 Q6 u2 l6 \var debug=false; , z; S4 z! a* c; G7 Y3 B
var CleanHideObj=new CleanHideClass();" p% F& f9 y. k/ S% @
, Y$ I2 w& N# A: u4 K6 j" u
function CleanHideClass()
2 d0 r5 A9 }3 c# T0 ^{
; A, ~' ~' a8 z/ v6 ~- H 0 Q; A0 {) ?" h! J" e% r
this.on=function(id,bMZ)5 `) y* f3 f; n0 Y, d9 o1 J
{
* @2 o! W; b* v3 W+ D; F 8 c6 ?6 y( U* U1 _1 Q1 p, M. c
if(id == 0)
( n- L7 j. C3 d1 C {
# z4 Q& R O* ` w. C9 D var page=/* document.getElementById("content").contentDocument */document; ' V1 V% U1 l7 L& O( _
this.RemoveHide(page,"span");) w( J# o9 G/ T, M0 u. ~, G
this.RemoveHide(page,"font");; _; T8 f/ Y. [( g( F
this.RemoveHide(page,"div");- ^" _0 X z# i5 ?7 g
this.RemoveHide(page,"p");
( L+ B" c# ^; {% N8 f 7 i, @; s$ i( u
}' \4 W. p0 _8 {2 }4 T8 s9 n
3 V9 V: d& }. E1 ?' N5 m- i8 Z
}& M1 f Q2 c0 }$ N$ X3 B; n
this.getobjstyle=function(node,prop)
* S1 [ D' z4 ?+ e- k0 C) q- B, J {
: F0 Y# W V) R1 k try
- ?8 p# p1 i4 }" O5 V {
& L+ u3 ]" n; C7 ~5 z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- U }6 b* Z6 O0 u( C
}) M- x! [ a/ a% T" f
catch(e)3 I, j4 M3 M. {0 R0 G8 e3 T X0 Y
{
" ?" z: z' W, u1 N! ]3 W0 V if(debug)3 ~' p( c+ }1 ^1 P
{+ r( H2 r r' K- a; d# L2 o+ \( V* K
alert(e.message);
7 A( L; F6 D; `+ E0 o, h6 c }6 \+ G, I/ G! U
# j! P! s3 [' o: Z" k2 s return "200";
( S7 {4 N' L4 I! r2 O }- y8 W$ z- s* N# q/ E
}: {1 n) P5 H0 X# M
% h$ p8 y5 L" e/ U, [) [2 c" x this.RemoveHide=function(page,objname)
) ]9 c; }& W7 V/ g1 j: d# T1 m {, d R: E- S0 N- l1 p( Z4 n2 H
try6 m/ A4 Y- z4 R
{6 G4 w. E+ B) ]3 R
var minValue=15;2 u) ]1 y* S4 W8 r
var objs=page.getElementsByTagName(objname);
5 v- g( N0 n3 J) k3 j, b, T0 ]: m
4 C. ]) Y0 m7 G1 q2 C/ r8 _: N7 m if(objs.length == 0) , L7 }8 L; B) o5 J+ ]+ P( U4 ?% U
{
w/ M9 I5 x+ C$ o# D if(debug)
/ Y( G& w) ], R) w9 m {: u* k; R# v3 u8 a
alert("no object found!:"+objname);! |: h( g6 O4 E7 @* G u; e
}4 x4 v# P; H9 v! k& H1 h
}% `' J! [. n2 @! s |5 S: L- P
else
7 t( o0 g$ r, z, N {, N+ j$ A7 ^ ^6 {' v
4 l- ~- D O" i% O
for(var i=objs.length-1;i>=0;i--) " q; N9 H: b+ p0 Q. ?
{
: }: X2 S) t5 ? var node=objs.item(i); ) p# l/ U. j! n+ i) F4 C
: M; a6 e" Q; o+ G" i1 q+ L) V
3 u! o# w' i9 ? l6 z8 q0 b' t if(this.getobjstyle(node,"display") == "none" ||, Z+ Y. P' z+ E- y! y* R+ Z
this.getobjstyle(node,"visibility") =="hidden" ||
5 F; \/ ~( S: }' P6 ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
& K* T) H: A. q5 P( A: c7 s {
8 o& Q" u9 }4 A1 y if(debug), t g" m, d- Z+ _7 G4 ?4 a/ R7 u" g
{
4 b. }6 p$ ^- t% i$ k8 T2 r: {, r alert("remove invisiable!");
5 L/ }( C! a/ G5 v+ b- _! Q }- U( f9 @# `: q% S
node.parentNode.removeChild(node);
1 V( k+ `) j& G0 D; ~$ j( P) k" w
, A0 u! H, `; }! M. N }" I& d5 t7 W6 {; I
else + e* Z) S7 p+ k8 D! _; ~
{
7 _1 A/ a0 r2 Z if(node.parentNode) 1 h- J% A. K8 X% I, w' F# f; ^* t
{
1 q, I3 x+ M6 V" u var orgNode=node;! N0 b4 h9 C" }+ f M5 F o- l
var orgColor=this.getobjstyle(orgNode,"color")
+ m0 r' ?: S1 ?+ n2 } var orgRGB=getRGB(orgColor);
" `! G- n( n1 K F' h ; B" G* s% q1 d8 [/ v* [
var parentNode=node.parentNode
: x' w0 d8 G& I6 W* P5 S) B var parentBgColor=this.getobjstyle(parentNode,"background-color");
) A9 S N# g/ p9 L- a& H4 V Z * }( W- H* o% U! u) U
var isLast=false;
6 ]) p* e& g2 |0 J7 V% U
4 M) V; k$ n- b3 S6 a# E while(parentBgColor == "transparent") ) k1 ?4 Y% v5 e+ q% ?; \; W; y
{# C2 G2 ^% t5 N7 m4 k
7 A' X- M7 s8 ^9 }
9 k1 F3 u9 C. y if(parentNode.parentNode == null)' ~$ ~& r- x+ L* ^
{
( m) n% y [! g) K5 `- N C2 D8 v isLast=true;
6 ]0 I7 ?5 T; } r C$ V) K+ } break;$ i- K* Y2 g9 n6 w
}# L% t* M4 L+ I |
parentNode=parentNode.parentNode;" c- |8 A& Y" O! D
parentBgColor=this.getobjstyle(parentNode,"background-color");8 F1 ~7 I0 \3 H, A7 R) q" O2 f
; E @4 J( p8 [ ~
if(parentBgColor != "transparent") + n/ V; [9 H: c: j
{! J9 K. V( f$ }
break;
@- J/ N3 q3 y }
- u( r( U$ V8 D6 l3 M6 b6 W }# x+ c* W4 C+ O3 I! {6 l9 k7 v8 y
if(isLast) - j. _4 K2 p( a% ]9 Z* p
{! t3 D8 b/ Y1 U* B2 `4 |
if(debug)
6 d1 O# S" e9 K! W7 n( H {
/ }0 q' ?$ u& R+ l alert("last!!");
9 m" B3 Z# W' [ }5 ?- g) a3 h* Y8 X+ ^. @" A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* \, }6 v% g. y" P' H
{
# }! K4 N- b' j# S! ] I' r; C orgNode.parentNode.removeChild(orgNode);
& x2 Y+ p, y5 Q8 F4 x }
" _" T5 F9 {/ x) R. J. K8 `! z }
9 g) p+ f, i+ |, L6 q6 F! H9 q- m4 o else
( g8 L9 c8 y W2 l2 H {
- R4 A: X! w* k' @# v if(debug)
9 S+ {6 _. O' j- Z2 d {/ B- X! B! R% i9 `6 o. D9 G9 t3 ^+ z
alert("compare color and parent bgcolor!");
# F- r9 V9 T1 Q% W. I. f8 A3 U0 k/ @ q }
7 e' @3 R! [' I) A8 V( E parentBgRGB=getRGB(parentBgColor);; \5 O' l4 q V2 A4 u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) T& k9 K |& `9 w
{
6 @+ J8 h* b3 U4 r6 `% r, g orgNode.parentNode.removeChild(orgNode);
! ?, x7 e, G' }8 Q+ G- e }! N& m3 f2 ^) w
}
/ d, Q1 H7 B& j+ C }; z+ h) q9 P2 w7 p' u2 Q+ t
}
* S/ U+ A8 L' ?, ] }
6 D" b$ T. ]6 o" G }
+ \" x' y6 y0 {0 G1 E" t
- G7 s! p4 w5 s V) V ) X6 k- R9 z/ S$ c+ c
var itemFrames = page.getElementsByTagName("frame");* N/ y& t' e+ w/ t% S# u. c
var itemiFrames = page.getElementsByTagName("iframe");
5 k6 K% w R& ?* v: W2 O, D 9 r; u" Z6 ]/ ]( c
var frame, iframe;
2 Z" B" D6 e3 S% s- F if (itemFrames.length > 0)
; n8 V3 M, }* a/ q. g5 k {
% z* c8 D0 f6 `! J for (var i = 0 ; i< itemFrames.length ; i++) % a3 B5 i* [! E, V9 G+ R) ?
{ u4 y9 B! }% l; s* O
frame = itemFrames.contentDocument;
: L( _# U3 i% c0 i) I) C this.RemoveHide(frame,objname); ) N( T: y% O0 W3 v1 I! o
}
5 j( ]7 G. h J: p }
9 ?5 i8 z" o9 s9 ~ if (itemiFrames.length > 0)
, O; A0 z6 {/ { {, w2 e% u K4 m9 L( C
for (var i = 0 ; i < itemiFrames.length ; i++) + w6 W- e2 n+ u( {" w6 e- P- J, V
{% v- Y( P. `9 M- U4 V# V0 d- z. j9 Z; n
iframe = itemiFrames.contentDocument;
& b& I: Q4 B* W- k) a this.RemoveHide(iframe,objname); % }: N2 }* u4 {( d$ s7 Y
}4 j; `4 |2 d! c2 ?7 h
}
6 v h/ _9 n5 a3 D4 Q4 L }
/ |! ]+ M. j& D a- d) ^ catch(e)
# ]5 X9 H$ J& i- \2 [6 m4 y* O {
6 i5 q) n# V5 q# r6 j! G if(debug). e0 Y3 p1 ?0 L) @9 i! B
{
* M, ^1 o; ^8 w+ O! U- h y$ | alert(e.message);' {2 x! _5 o9 @1 k
}: b7 Q% o7 Q# ]$ |+ y8 e9 q
}) Y7 ?, j# L/ {8 `% ~
}. |: o) K0 r7 f7 n+ G
/ |; S' d W2 S( @$ b5 m! y}% g1 d; `* D* h
% o b$ C& y' z1 n% ^. I
function getRGB(colorString)' D' H, R( @9 E1 F) g( g3 @5 x
{
. u: t# Q" D5 _; Q var RGB = new Array;
, V# o7 @2 y; B3 z) x& b) M var tempSting=colorString.substring(4,colorString.length-1);9 y( P( E |2 j
var tempArray=tempSting.split(",");' B! B: K$ F' X3 ^! ]8 }# ^( j6 f
$ j9 _( [7 m! f& s7 C( e RGB[0]=parseInt(tempArray[0]);
! C! {' u* f: s: v; J: ? { RGB[1]=parseInt(tempArray[1]);
1 P% Q' T8 M- o, ^ RGB[2]=parseInt(tempArray[2]);8 t. Q% b( U2 [
g- f. Y# Y( t) F
return RGB;% b, ?: d! D( Q* g* ~! y9 B
}# `! H, |6 t& Y, u. t+ |# H1 s
function keys(evt) P! l1 U' h! f
{
' v6 F1 g& B( m) h8 o if(evt.ctrlKey && evt.keyCode=="81") # O+ b1 @# }7 s; ]9 P: i
{ % k0 r0 `- }/ ], h- t8 Y* d
CleanHideObj.on(0,1);$ i- O* F' }& f$ L/ {5 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 P" C+ K3 K# f
7 R$ u% d) |7 r( v0 v6 x }
$ d; a6 w6 \7 b' D } 1 p7 M/ |) j6 y$ y9 S6 ?
document.addEventListener('keydown', keys, false);
7 ?! }5 U' @) E+ ?: {GM_registerMenuCommand ('Clean Hide',$ J$ y( L+ M& \4 D7 A- r6 x
function(e){
; j4 q) ^ B, RCleanHideObj.on(0,1): H0 C" ^+ P( @/ F: x' |% x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, _, c- w, ^' B
});
" f+ V4 v! ?3 t5 p9 Z8 v |
评分
-
查看全部评分
|