|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 E8 n" s+ e& P, B& I$ b& N8 U. g3 d' s' N- j0 c0 ]$ E( ?
火狐插件,用猴子4 U: b, G+ y; o! m
/ }4 y' M& z, l5 _: C
var debug=false; 9 M& T' N+ I" v; B" @% I/ C% x& A
var CleanHideObj=new CleanHideClass();
( s2 U, d' B$ v ?8 ]1 R
7 i8 F! I% w$ ?, z- R6 [) \! d. Zfunction CleanHideClass() e: s- {! Y, M- {# P# \, E
{ 9 K: G" l) S6 i3 e0 z4 K
7 u* e* q3 {5 K% B
this.on=function(id,bMZ)
; e0 q9 ~ r# u' Y' x+ y {3 c2 w( z% p3 g# g3 T
# Z+ V6 {. O3 D: ]4 W7 z. t if(id == 0)
% _5 {! v( ]; ]6 g3 u* j- B' e- y { O( o4 M$ }, d& R) J: U0 J
var page=/* document.getElementById("content").contentDocument */document; % S2 P& d ]5 ^( Z
this.RemoveHide(page,"span");
4 @7 g( p8 K* ^: ] this.RemoveHide(page,"font");0 K% T2 R, r! r& b# B }# {) V% x
this.RemoveHide(page,"div");9 ?2 j' P# G) l' H, ~6 E
this.RemoveHide(page,"p");
8 q+ L) |: J+ a9 |1 a: U% f& n ' f/ E# M B# O0 r* ]7 ~9 N
} ]1 z/ x: {! B f! d
; X( @9 F/ j, F' ]' ^* L9 R }
/ x4 o) M3 u' x0 D3 \* R+ v2 ^ this.getobjstyle=function(node,prop)" @, }$ b# ?0 [, Y
{
5 I, N6 W) E3 i$ X* P, P7 m try" {9 s4 }; P+ K9 g. {) J: \ j1 g
{: z, A% t, B9 e! \4 C" c6 }, U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 _7 q2 p+ I1 b% f: C
}! d3 n0 i, P0 g. l. v: H0 Q
catch(e)
4 X* z& `" K/ T) _ Z" p p {
; {, w- x9 ?% o* l# e if(debug)
& q0 l q4 ?5 \8 k1 ? L% ^/ c {) Q, H: M2 Q/ b
alert(e.message);
3 X& { U9 T1 |# a }) W ?8 N* Y6 H T' b0 D! H
! W' ?7 l$ P) X6 c- S return "200";4 W' f% A8 F! B% _: s1 |
}
1 m4 I, F5 k$ q# U: C$ H C }
& |) ~5 o7 J5 s' I! |
, c2 q$ T1 h; g4 I4 k this.RemoveHide=function(page,objname)0 l5 j# p( E% n& }- L* q; H! n
{4 x6 Y. h: s/ U. v) C7 [: e
try1 Y) d f& k% g1 m0 \% x5 x
{
" y; X! }3 d2 t* w) p" j' j* } var minValue=15;
0 q7 x& R$ v; `0 _; r' i4 Y0 W" k var objs=page.getElementsByTagName(objname); / E( I1 B$ ?* Q: ?0 T# D
) I b* f g3 H/ T if(objs.length == 0) ' q7 V4 @0 X2 H P" i! |! a5 ?
{
7 F: R1 C0 a7 ^. e$ J0 @- ] if(debug)" Z( X8 X9 W7 V+ h2 z" w
{( @; f! ^) `5 Q* {% V
alert("no object found!:"+objname);
9 J' Q: u% |: E+ O9 ? }
) M; N0 L0 ?$ \0 b1 Q: { }
& D! f) L+ @" I0 ^ J1 n) ~3 c6 t. |( x8 X else: c4 W- m7 q+ e" `, ~, w; v6 h
{7 N2 E# r/ W6 |" [8 y
, t7 R. Q" z+ s) S4 V, X) S3 ~ for(var i=objs.length-1;i>=0;i--)
# [. c; e& K9 R0 I {
. q. t, V* b) s var node=objs.item(i);
- a& k. `1 G; X7 d! g( @9 @7 I h # X t0 K/ ^. E- x0 L- `3 y, J
) [/ @; V" F; a- h if(this.getobjstyle(node,"display") == "none" ||$ i% P5 c3 `- Y$ K4 e# u
this.getobjstyle(node,"visibility") =="hidden" ||2 o2 s, ]5 f# m8 E2 {: {; G, _
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 J$ q0 Z$ ^$ E& U
{! x Z2 }# G5 B2 t
if(debug)
! F5 C% g; O6 q) \ R {* D( L+ J0 v0 |/ ^) O3 G4 ^% p& t
alert("remove invisiable!");
5 E L5 X8 K8 D5 U4 S0 | P- h( E }
& N* H+ [4 y" J6 ]$ A! J4 c' m/ { node.parentNode.removeChild(node);% f& B8 P- c8 I* ~" i+ @
; C. ]& ?5 ]" L' }0 o& v }
6 d$ y, k$ M% K! Z" @- _ else ; U, l1 @9 P- l
{
, G# G( b" M, @& C# ]. V if(node.parentNode) ; }( O# L. X6 L- p0 L j
{1 u6 ?6 A. g( J+ V$ H9 @* B; K! v
var orgNode=node;
5 K) |$ R" ]: Z) q var orgColor=this.getobjstyle(orgNode,"color")5 K, c* ?" m; q$ [/ k: z
var orgRGB=getRGB(orgColor); ( A5 Z) M4 _1 v( i
( o- G+ ^2 {0 B
var parentNode=node.parentNode' q" z; C2 _+ I
var parentBgColor=this.getobjstyle(parentNode,"background-color");" P3 C- p' s6 j9 v
3 J3 I2 K7 }/ H; ]" t: }, ^3 b var isLast=false;
" f( }3 } u, s2 M5 A. U2 j0 k- g
# f V, u/ u H- \2 ~ while(parentBgColor == "transparent")
- A3 S) X! j. ` R; ]4 Q1 |- D0 T {
9 O1 p& n- W: B- S3 O" @" u [$ Z( K) O
, }) q$ |8 `( J+ M; J! U
4 H1 m7 D; x0 g) { if(parentNode.parentNode == null)( s6 M' P9 R8 Q/ |4 {
{
5 e3 F8 `, J, p6 T# @/ J! L& x) \ isLast=true;
" N, @4 y9 ], p3 T# @: z8 g" T break;5 Q, l) B1 [& n4 J8 P$ I
}
, O. _7 k5 k- w: L1 k4 H* _ parentNode=parentNode.parentNode;& g7 J V* o& J% E r
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 J$ p5 B5 ~7 @* e( g' ?8 H' a8 x' k
if(parentBgColor != "transparent") ! f6 b' u, t5 O, @! M8 b: B
{
z: V8 a/ Y& d6 b# `/ |. W' y, P break;7 |5 {* [ @( Z' [
}
+ R; e n2 b, ?- I" s5 | }
+ _# J% K9 d2 z/ n3 @ if(isLast) ( ?) f; O: J2 X8 L7 N! ^! @
{
7 t" q7 ?( @ u6 `/ b if(debug)3 c( x( o8 m; {) d( D; w4 g. F
{' ~) s: @' ]# X; Y1 _# I
alert("last!!");9 n, K, i) r9 b8 G; Z
}/ P! e: |, l8 z# U& F4 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): Z8 j9 j* I6 l, \ ?
{; T* X4 H* f3 ^
orgNode.parentNode.removeChild(orgNode);
: N1 v' ~2 y6 {& k9 q+ m }, t- x5 H6 [! w5 B
}5 c. `# p; L# U6 C0 a
else
9 d m! Z6 k t+ C! x5 \- z c( ]6 M {
3 @* z6 ?7 Z/ A# W1 O" w z if(debug)2 u4 S$ \" x. Y- \3 {# f
{7 S' _! ^* U" `9 b: W
alert("compare color and parent bgcolor!");3 W; q d4 v; U: A
}, d: C% K/ b: W, J/ _+ ^
parentBgRGB=getRGB(parentBgColor); t( c0 ` B Q# |0 b+ F$ p
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): G! o8 i1 Z5 g
{9 a4 Z' ?, x2 H0 }" A
orgNode.parentNode.removeChild(orgNode); 7 x5 a" V: B! \3 v: l
}. j- ]5 g" E0 W v
}
3 \- h+ M- w! F% @ }) G1 O0 A* v5 O# w* ^ V3 q B4 @' v
}
5 e9 {% I0 h4 p1 g9 G+ C) U } L9 Q w9 G" L/ e S
} l: A) J6 ^, O6 L+ B2 H: N
3 y# E' Y- r" c4 K7 }: j
( b. G& c. R' x8 P% R var itemFrames = page.getElementsByTagName("frame");
! ^2 s1 B0 V0 A8 X; Y0 a$ ^% J* D var itemiFrames = page.getElementsByTagName("iframe");
8 b9 w8 |/ t+ k1 g# | 6 ?( H, t0 S# Y
var frame, iframe;
5 }$ h/ S+ Z% x( `% k' R& [ if (itemFrames.length > 0)5 ? a$ H& F3 q& `$ f
{
# ~4 l; t, V1 p; ~ for (var i = 0 ; i< itemFrames.length ; i++)
* u) l5 g t8 I- o4 [ {
8 {# ?$ i- F/ t3 ], g* R frame = itemFrames.contentDocument;6 e/ c6 f1 t% C& F/ g
this.RemoveHide(frame,objname);
7 D% \( J5 `& q3 G, c; D: G" |" L2 e }+ {6 b9 D0 ]; O) v1 E9 k
}
% m3 D( p& k# t3 {7 t. `4 L if (itemiFrames.length > 0)
2 Z* J1 u& Q. Q) m- A) c0 D H {
6 T B- T2 D0 B+ A" G9 _% ] for (var i = 0 ; i < itemiFrames.length ; i++)
" L3 r7 G% e4 h( ^+ A) k {
' j+ B [& A1 n& n. o+ i6 t iframe = itemiFrames.contentDocument;
# l N: `, M' j. n9 k/ z8 U this.RemoveHide(iframe,objname);
% t3 s% a3 z r! a x }
6 J1 g8 n7 ~3 Y T7 ~! {6 C) q1 b }
( `6 d) |1 M) U( v, C* ] X" x2 L }/ c8 `7 q1 x. Q7 O% ]0 r0 g
catch(e)( s+ Z- t1 M, N& ^7 U
{
& d0 D# `# N1 m7 o* p3 F0 ~5 r if(debug)% k# B: N6 r9 I3 l+ e
{6 Y0 j0 U8 n6 l4 `" R- y7 Y! _
alert(e.message);
5 b- c8 M1 v" F+ z }1 [$ i/ [* f$ Z0 a; Q0 {
}
; n+ c: V/ `! t! a! {/ k8 E }
. y1 W4 L0 X& L# N / m! G1 k* C1 H5 q( |8 ?! G
}0 f" _$ W0 U* f+ D
9 A4 F3 H% w: Q! D
function getRGB(colorString)
7 L' \6 d( O. Z7 K% D! ^{ ^& }0 i" {! e: E( F
var RGB = new Array;% }. I: s6 J9 R9 |
var tempSting=colorString.substring(4,colorString.length-1);, j1 R) r5 c" u% k
var tempArray=tempSting.split(",");
5 P2 ?, N: s( \5 c9 y5 v
. q7 _' j! r1 n$ Z$ R RGB[0]=parseInt(tempArray[0]);4 ?! E7 u, t) H- P7 x. ]
RGB[1]=parseInt(tempArray[1]);" G. }+ Q- n! T/ w4 y" F0 k
RGB[2]=parseInt(tempArray[2]);
& j. W) a8 \3 t2 o
2 }. i M7 |, v6 j. p1 ?1 Y$ I return RGB;
( \2 w/ z6 m5 Q7 S) M}
1 z3 W6 V4 V$ n. f# k6 a1 _# Ifunction keys(evt) : c* G) W' L6 w9 t2 ^0 w9 M2 ]
{
5 r, o3 O9 y! s! ^ if(evt.ctrlKey && evt.keyCode=="81")
- j7 e4 W5 ^$ M$ g- Z0 G { 1 s V9 s% k8 j# U& |, U! `
CleanHideObj.on(0,1);
, W$ g0 x! }0 d; o1 o q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 ^* f& `0 x S% i
$ ~1 }; O% u" p9 ^) m7 G } * n0 ^" {& |" c2 v
} " s. f. X5 h6 o
document.addEventListener('keydown', keys, false); & l" Y2 m4 Y7 d5 p9 U% Y y
GM_registerMenuCommand ('Clean Hide',
( |+ p" ^% p2 a: J5 X$ H! ?# tfunction(e){
7 t! j, ]6 D" p/ K( {7 j2 X; iCleanHideObj.on(0,1)
3 c7 r$ o; R' B* |1 h8 s0 G2 xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 p2 [ o6 Y! p. D* j
});
" G0 @$ U* m7 X9 R, m- \* H$ Q7 W* O |
评分
-
查看全部评分
|