|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 }. H0 m% I( r
; W+ j: w5 K* z0 v( p, ~9 v( G火狐插件,用猴子0 T5 D }" t6 x
. v3 V, G2 n5 g4 Q+ ]( J% z- Y: c
var debug=false; 8 M/ _& N& l0 e+ t
var CleanHideObj=new CleanHideClass();
+ L- G$ W! f# Y. ^; r" u; o( q' A
function CleanHideClass()
+ ]0 t; Q1 |: _{ ! h6 \- N1 }. @ R
/ ] b p% M# h; f Y, O: C8 S
this.on=function(id,bMZ)! X8 H6 y% N2 _9 ?$ t
{6 ~2 c3 \$ m( j5 e X
( t- q3 W& e$ r7 H' }. Q: L/ T0 V if(id == 0)9 J, C' v/ Y7 x) _+ F; r
{7 G6 ^, ]4 N- _ z( h
var page=/* document.getElementById("content").contentDocument */document;
/ b. F! [# v9 J& j this.RemoveHide(page,"span");
2 k5 B) _$ Z6 ^ this.RemoveHide(page,"font");
6 G8 F4 J; n {" D; \ this.RemoveHide(page,"div");* ^. |% g6 M3 T6 i) c$ `
this.RemoveHide(page,"p");) Z6 }8 n G; {, Z, h9 @
( U: z K p, u& A }
8 J9 N8 Y' I' G& `" b/ F8 a
+ m4 \1 y" I; q* k' `. y, L5 F0 {+ e }
/ T0 d3 q, k1 e6 L/ d& e& p* t$ B this.getobjstyle=function(node,prop); }, M2 @4 Q4 Q" r' {& t) {
{) X4 e7 G- x7 `, A
try6 I4 q; `( U# D( W7 b/ i3 I) S2 D8 w
{7 L/ k4 ]& I4 I6 y E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 H1 ?- Q( Y. H/ R }
# m% s! k! s( T$ F- [ [. u8 y catch(e)
~$ a( I8 D* g3 i/ ?; z a% C" `! G {: V, T- e3 x0 W0 A- ]
if(debug)# Z6 n2 f! d5 i* y: N4 H+ m
{
& P& Q0 s5 |) a3 V* i! X: [8 f alert(e.message);
/ I) z8 i( }$ ]) N q% @ }
4 s8 h G: y( U/ B: F- y ) H' w2 _' v5 |6 u' ]4 F' n! I* \
return "200";8 Y) i# ] w6 o0 h) X8 G
}
1 |2 Q) [; Q, Q T& u4 _ }
! {8 q5 K! h6 i ^3 w6 r % L) U0 s; r c* {6 V. L; h
this.RemoveHide=function(page,objname)
! J7 ~) k, l) d) n1 C* } {4 ?& }/ k. Z, M$ o$ [. ^! b
try+ f9 S( a U: m. O% g
{1 X* x' c% V' I$ E. [; V6 M
var minValue=15;
# ]' i+ p( i* S8 Q var objs=page.getElementsByTagName(objname); 0 f' k9 _' o% W" a3 }1 e0 T+ R
( O' `1 U; f1 y, q* i- ^
if(objs.length == 0) 5 j4 N- W9 p3 J( ?+ Q
{1 [9 ~8 @9 h' \& B! \' c
if(debug)
5 D9 n/ z6 L9 a {
8 q6 R3 ?0 ]- d) P( H- ?1 B alert("no object found!:"+objname);
: Z4 g( W+ T- R0 r6 E }7 I" A* D4 }( n% e" _; ?
}
; o5 k1 J, B# f' Y6 c6 f else4 v: f1 A; L3 `" E R
{' c* n0 J% F/ j/ h+ i* m+ B8 B0 z
! v' [! B, {* a
for(var i=objs.length-1;i>=0;i--)
( C# u5 s0 h9 `4 a0 Z) V {
# J+ s1 ~2 b8 t/ E; M var node=objs.item(i);
2 z: v* E$ o$ v/ E8 r
& z5 J5 }4 h) E; `; W
" G4 x8 A3 c% s, i$ `: b4 D- a if(this.getobjstyle(node,"display") == "none" ||
( @2 ~ O# a1 R0 S this.getobjstyle(node,"visibility") =="hidden" ||5 K2 B. A) V2 n3 Y. i1 x
parseInt(this.getobjstyle(node,"font-size")) == 0)
% @- k# b* I- o D( Q% d {
% K3 }, J, k1 z: i if(debug)5 K: |3 R9 p2 g3 o+ X8 c
{
% N" s0 e( f: A! F) e: k6 m% l0 r alert("remove invisiable!");4 x: K% w5 D0 o0 M
}+ [! [2 H4 c! F& S
node.parentNode.removeChild(node);6 e Y) U8 N) u, h: k5 z* g* Q
5 h( [8 `4 z9 k3 A7 l1 d. i }. O$ z) W3 J# h: f1 g
else ! I; ?* j9 P2 o; f+ J) E; g
{4 E& K" _5 S, V! i S/ y
if(node.parentNode) 7 a/ _6 n- u ~; _0 z7 A0 |
{: }- t' x. y% H$ G& D s: j5 n% [# U
var orgNode=node;3 `0 I/ S* s5 n4 x
var orgColor=this.getobjstyle(orgNode,"color")
. c+ U7 ?' q# F, ^ N var orgRGB=getRGB(orgColor);
q: `; h! Q% T* S% L0 o9 b! A
8 q9 E U2 @) v, j! \ var parentNode=node.parentNode
9 p8 } x* S$ z B, O k2 Z$ G var parentBgColor=this.getobjstyle(parentNode,"background-color");6 X- c- L% Y/ x; m
8 p6 _0 e, D) A% ]
var isLast=false;/ O9 d' _, i: J* k
, ` G+ Q5 k8 T0 K2 ] S while(parentBgColor == "transparent") 6 _/ g! S4 @% }3 \) E u+ Z
{
: U$ m/ q* M* v7 P' S+ C% B 7 H. U; _; ^& R, Y1 N5 ]: }
5 {; Y! e x* v/ _* G
if(parentNode.parentNode == null)
2 G6 x8 q. ?0 l# i ] { ^$ M9 _! P7 B1 a; K
isLast=true;
$ L/ U) |, H' ^ z1 y break;
& p" L8 x* b; t' K) c+ H) ]7 y" _ f }
4 j/ W5 Y2 R; a! R( s parentNode=parentNode.parentNode;4 ~7 k# ?9 L+ `; [, d
parentBgColor=this.getobjstyle(parentNode,"background-color");1 g+ O% ^! u& E# S* R6 ]
- k7 P n, @4 X9 B& M" Y* J; p
if(parentBgColor != "transparent")
; L. x" l0 ?( W1 w2 [: K" E {2 T- }$ P$ f: X) A- W* I
break;4 J! u5 n' \7 V F8 l7 }
}4 } G5 |( s8 r( Z9 m
}0 X3 @6 F- g2 k$ b/ Q" \/ F7 f
if(isLast) {7 m+ K! I* [/ w* g
{/ ~; t7 _6 v% ?! }
if(debug)2 P5 _ M& ~) f
{
" l% p' s# k, w( Y7 m- w/ R D alert("last!!");# s. E8 {3 M2 j8 R+ [$ V M
}( F1 K" W7 d- O, P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* C% `8 l$ o7 G {- [5 T+ ?' e3 ]$ t
orgNode.parentNode.removeChild(orgNode);
6 i+ }+ s" n* K# T7 } }
- n: S0 U- r$ F5 _& X2 \8 Y, P }% Z: r' X1 o& x( r: {3 K7 O
else/ u- m% v- @$ F9 d- P
{ Y/ ^& J8 P5 W: i$ f
if(debug)
/ \% J' S7 \+ m4 c+ Y8 R t7 T; G {( O# b8 O+ F- O' C$ D: B
alert("compare color and parent bgcolor!");& g. u c& e9 x' r4 ^4 x: E [' U# k
}
; _ @# p6 Q. d2 S4 s$ O parentBgRGB=getRGB(parentBgColor);' W2 ]& T- v* U# v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 l/ o+ d% i! q# M {* d i- g+ S; F& M C8 u6 B
orgNode.parentNode.removeChild(orgNode);
4 C, \) [" l2 W. ?8 p( i- G; P }/ R/ a) ?8 J6 r( \" C1 I7 }
}
! @# c! {# R/ }4 _ m6 S. K0 Q }. a# n" j9 K6 W$ F
}
8 Q4 [+ e6 ?* C! v0 B: N# I. V M }* X$ n9 ?4 I8 {1 k; g
}- x& W. `! L- H9 X6 i2 @( d; v
5 I; E# X; z( g0 I- u6 q # U7 f7 m' D+ p+ X6 E {4 w
var itemFrames = page.getElementsByTagName("frame");
4 P6 t9 Q% L! o* Z" P( Q var itemiFrames = page.getElementsByTagName("iframe");
1 g9 p0 N; ~1 H r& A
: Y2 b" A' x, z var frame, iframe;
1 ~/ Z+ d, u2 D; v0 S# q if (itemFrames.length > 0)6 ]8 U' O1 U; G! Q8 L
{+ ^$ V8 E ]" n5 ~ k
for (var i = 0 ; i< itemFrames.length ; i++)
; `! B6 p3 S& q( w3 g8 M9 p# ? {( W5 H5 e5 T# A# E2 u
frame = itemFrames.contentDocument;
M$ ~( e1 L. s this.RemoveHide(frame,objname); $ M+ N* R; s9 y) s3 ~" T, z& B
}
3 { J; W0 f; G, ~ }
( M0 ` E+ R; @/ n if (itemiFrames.length > 0)1 i$ w" I7 X7 J* j8 y9 g
{
/ j1 `/ H/ _$ o3 m5 ?- D1 E7 @! W0 }; } for (var i = 0 ; i < itemiFrames.length ; i++)
3 \" c1 A3 ^; V* V, z6 ^; h# I+ L4 N {* G4 w1 W4 q$ c3 c' k- v
iframe = itemiFrames.contentDocument;
+ s( |3 a8 ?3 n$ A8 n1 q this.RemoveHide(iframe,objname); ' m9 z! A! S) A+ S
}
" C& D, i/ ]& i+ Q9 N0 H }
; P) b0 C& r* ?# d1 z9 F/ n }1 }; ~9 E& Z6 K3 e9 S L" l* v; V
catch(e)( {- `: L/ \! Y% I) Y
{
& P) }- N9 N$ f' E) K1 Q if(debug)
9 u. L S/ t/ z% G( `# N {* I& l: F/ z9 O- w
alert(e.message);0 o9 `. q8 P1 d
}& C. J8 k& _+ O/ g/ {% a
}
$ L. \- W5 n1 @$ @: i6 [ }
% o4 y; T9 W: |% ^+ ?$ _- R! s 3 m. O5 e7 G6 I7 J# K) X9 b
}
: i9 w ]$ }$ F0 D0 o
* W1 ^- ?$ F/ q+ j" o) u6 lfunction getRGB(colorString)
9 p5 q0 _. N# O3 N( `6 ~{
& i4 u1 K! e. e! J) d var RGB = new Array;
+ E% b3 ~! P# i var tempSting=colorString.substring(4,colorString.length-1);
( L; j% E+ p I+ q) p var tempArray=tempSting.split(",");3 m/ Y7 \5 H2 Y0 B5 x; r
: h8 z9 k8 x- z5 e+ f$ G3 C L$ k' L _ RGB[0]=parseInt(tempArray[0]);, b- t! ?% `2 x u
RGB[1]=parseInt(tempArray[1]);2 K5 [, i" V$ X3 v
RGB[2]=parseInt(tempArray[2]);
& @7 E( K, u0 }! a6 \5 h- n
" _6 h' h- e( P/ o return RGB;0 I. t! I) S! |8 g% ~7 z) ]& ]
}6 N9 {3 B2 I: t4 P+ o( V
function keys(evt)
M l- f: W. ?& e2 K5 _$ s3 n4 v { + R) W: T9 k, Y5 k+ L: q# j: w
if(evt.ctrlKey && evt.keyCode=="81") ( Q2 E: D$ K) S& Q1 V- T; ~
{
, O5 ?* s6 t: V9 ?. S ^1 B CleanHideObj.on(0,1);
" R0 S/ D+ w8 ]) S. i% {1 F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % h z2 a) E1 h' O1 c* ]
0 Z# `* f7 s. C6 m1 j7 K }
) h% }! d* J" [( b, M }
, x E! ^: o) v- W- @$ H+ K. I0 Gdocument.addEventListener('keydown', keys, false); $ @3 ^: U' l: Q6 N! ?. o" p
GM_registerMenuCommand ('Clean Hide',) J/ V2 B7 w# ~4 e2 h& _
function(e){
; B2 \: M/ }0 U2 \* g6 E1 XCleanHideObj.on(0,1)1 j; y+ M F' t1 ^. k: j/ J h% E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; H: v6 K6 M6 u c+ Q, e7 Z" y5 Y
});0 U. A6 w% w* d0 b; N" j& s
|
评分
-
查看全部评分
|