|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 ]. X+ t5 w& ]
1 `" I3 G. e2 C' B" P
火狐插件,用猴子+ W5 f3 C# ~* H' p( z! h
0 l: ~' K. Q- [( k" cvar debug=false;
! l: H- K3 w# ]; k7 _- L) x$ _6 mvar CleanHideObj=new CleanHideClass();5 B5 q7 {5 \- _) r
/ W- U. X- @" i' p/ g1 S8 R Dfunction CleanHideClass()
. `2 i+ B9 G/ y- o{ # i t2 j; S# F% E' ]. a
- J$ E8 v, y1 _% Y
this.on=function(id,bMZ)! e$ l/ x# j* {. S, {
{
+ B6 z2 s, ]7 o* Y 7 e3 E0 V4 c+ C2 u/ Q4 ?# U+ u( z
if(id == 0)
2 A" t# A! f; [ {* B/ j0 }# r A' F9 b1 Q+ j e/ Z+ e
var page=/* document.getElementById("content").contentDocument */document; 0 d1 e' w" @7 d
this.RemoveHide(page,"span");
8 o! ?% C1 B1 T7 F" e4 U2 ]. h% X this.RemoveHide(page,"font");0 T& {# {/ q% k
this.RemoveHide(page,"div");3 ?9 E/ J/ G( }! x2 U \
this.RemoveHide(page,"p");+ R$ e$ U+ ]: z) R/ R
$ q/ u3 v1 j& S8 w. x$ w8 [ }
2 }1 P$ ]6 Q! d, G ^2 t7 U0 p" s
" G) G$ z8 v9 p( d, h1 r" } }
# x6 E+ b1 {9 }( g5 h ^" ^ this.getobjstyle=function(node,prop)
s3 K" F- ~* @* T0 g {. v: R) J4 a# D3 t0 M o9 b+ n
try
. u: K; W( {: i/ x+ C {
* H2 ?! r: \. I+ A6 H) @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 w% g& x& h9 [: e% `# s }
/ `1 E8 v+ }* d1 x catch(e)0 d# D1 F% R/ s0 ~0 p9 W3 p0 S
{$ F* u, e' W& @% C5 q. G% T
if(debug)
, P/ U c- l p; _2 H {
+ f S2 J# ]) R& K! J8 M alert(e.message);
, C& `3 U: [& Q! C+ N) k9 B8 `2 y }! Y. V6 g4 C D" H
' ~1 M7 h5 j) r L6 o3 n( I. K return "200";) S$ l2 w- ~3 P4 \
}
7 f! \+ ]$ l: Y5 L8 p: s: F( Q }
$ U& m4 r3 A9 y6 Y: {7 D( s- ^ ! ?' P3 L7 s. o& \5 v
this.RemoveHide=function(page,objname)3 @& w! F! ~( @3 H
{! ?. g" y) x1 W
try
3 ]: w5 J' B" O0 {! \3 z {% }3 M- b- {/ I/ E ^0 b3 J6 f
var minValue=15;
0 ~" e$ l# v8 M3 t' @6 R var objs=page.getElementsByTagName(objname); ( d# L e- a( D: m# ]" R+ [/ L
8 R/ O/ R8 l$ Z; U1 F
if(objs.length == 0)
9 _: N4 d, o6 ~) }+ Z {
( Z6 ~5 }5 q5 N# d5 q" C if(debug)
: t/ A, f$ j2 j7 i8 j& G( {9 p {
% w, W% j+ S$ _& z$ x! B alert("no object found!:"+objname);0 F- E" P) \ v$ W1 e) ~ v
}
, Y% U5 f+ J: L0 v3 M }
8 A; v# @8 g* i8 j$ G. o, ^* P5 J% j else7 S5 Y3 s& `) J5 w8 \* K
{# u9 W9 D- U1 C: V: J/ `
: t: j' Z0 L- T2 F
for(var i=objs.length-1;i>=0;i--)
; o# E1 J! w$ H2 p) P& _ {+ X+ f* J- e6 S2 [* z0 Q
var node=objs.item(i); ) B9 g0 y' H8 s* w. |0 W
" y8 N+ R- y! v+ Q8 h" i! q
2 _3 Q) p6 m5 Y S( F) J if(this.getobjstyle(node,"display") == "none" ||
7 D1 y& c3 P+ F this.getobjstyle(node,"visibility") =="hidden" ||
8 D% m4 l# z1 ~; f8 @& H parseInt(this.getobjstyle(node,"font-size")) == 0) + Z" x# c2 S( E$ f2 d! S# C
{7 c9 H2 t; W/ P0 m3 Q! V
if(debug)8 C1 A3 g+ i' e/ P( j) {, h
{
' r" [7 ^5 x) r ?$ W$ b alert("remove invisiable!");
3 G3 A _" r( C. v% x' E }# \0 w, S: v6 i7 X4 @3 j- e0 L
node.parentNode.removeChild(node);, G, ^7 F' F) J+ _
( M5 t, x5 R M8 |: \- X
}# u7 q, ]' Y3 @- d0 b
else
& v6 {# x/ Z! I) Y9 P& s* b {
! N( F5 c) p1 z7 N+ t if(node.parentNode) . i0 T+ b8 s' p' |5 G/ X: m
{+ Q1 Y2 m, N5 f2 z! y
var orgNode=node;( G& _" g8 z. U' t: M' G
var orgColor=this.getobjstyle(orgNode,"color")4 w7 r) o( M2 b! g+ k3 W
var orgRGB=getRGB(orgColor); 7 u9 P I# e; J! y' H
3 o- }8 |5 L X1 c" Q( H: R3 F4 m
var parentNode=node.parentNode1 T: z" }; l: @+ R; w
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 p2 t) K* _/ ]+ i, u; \! n
$ f) d% q" F2 |9 q+ s k var isLast=false;
! c7 T V/ W, P5 V 2 u- P7 Y9 f- Q
while(parentBgColor == "transparent") ) E$ w9 e! D* D! P9 b `
{5 U+ l9 n3 P+ J
2 o. j. b: k, l0 r' E3 @
& f0 a! j* `5 E9 F* u3 F9 F# } if(parentNode.parentNode == null)/ ?/ m; l9 D8 N3 }" a5 |4 O; K
{9 s% t0 L, C* C/ @% [0 e0 F
isLast=true;
; w9 K6 i/ R+ V% z9 F break;1 u1 E$ G9 y; B* X# m8 U' H
}3 Y8 A; s! A% G6 l; N9 p7 `) _2 O* Q
parentNode=parentNode.parentNode;
0 I9 q7 m d, G, P* H; n% G5 j parentBgColor=this.getobjstyle(parentNode,"background-color");
" Q8 `5 o/ Y. c* Z/ p2 a6 j( v% m8 f* o" D5 M( j- i; |
if(parentBgColor != "transparent") - c, i/ p! j O7 S1 l* Z
{; C* P, p: C* O, a3 g
break;5 B9 I0 s& n" L3 w. v' ^: G7 m
}
% D1 U; A o2 o7 @ }
H. S7 B9 r$ g2 ^% G: p6 ^ if(isLast) # ?, c3 s+ H! ]/ M
{3 a; y1 Q; ]& J' l; Q9 |
if(debug)
+ k) b) q& I& L9 K% ]( N, ^; H {
* G8 B H) M' L, P alert("last!!");/ w% c& \2 r, v0 g `
}
2 g2 F. ~3 h6 N( Z& A if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! ^& E' f1 ^ \2 E, {8 B) L
{
0 u% x- Z8 V0 ` orgNode.parentNode.removeChild(orgNode);
c5 v2 J7 j* l' p! B' [% R2 V }
" k9 u" x1 }* S V; Y1 ?5 c }
7 o8 m j# F0 v, {4 e else
4 B8 k& K7 A5 D& q1 X {
; V6 b; F; [. q! w# B& t1 w if(debug), U' O7 c' [/ z7 x
{: ]0 W, m) Z2 d0 @$ c% ?
alert("compare color and parent bgcolor!");: d0 z4 J4 { M! w& I
}' Q7 ~; G% \& I8 V
parentBgRGB=getRGB(parentBgColor);
6 T$ L/ @, n3 J k7 { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( N9 y# A0 k" u9 k5 C) ~" d- a, M {
' g8 {/ a1 {; r/ R orgNode.parentNode.removeChild(orgNode); 9 ~ m2 _9 v/ u* V$ @+ j
}
$ t/ w* N$ q% F5 a- w }
Z, E2 b. s9 ]+ t }
% \7 \4 h5 S$ o1 | R }
9 ]/ x$ |) f2 d! z7 S. B }
4 h* }' m2 ], c }' r" Z4 ^0 V. b# C- Q: f) L$ r d" s
d5 h; ]- ^8 ~; F. f
9 Q4 n8 y+ Z. L5 ]! I, w% p
var itemFrames = page.getElementsByTagName("frame");
5 }( b7 h5 d9 f- s var itemiFrames = page.getElementsByTagName("iframe");
- C. u; ~. \, U8 z$ q
8 _, H# @, [ ], J6 S( x- e var frame, iframe;* d' Q/ [' `' C: o2 i
if (itemFrames.length > 0)
4 u. ^& n; j6 \$ d0 i( d9 F {
$ S+ H- L9 L3 c for (var i = 0 ; i< itemFrames.length ; i++) / g' @/ k7 w' W3 o* e% d/ W
{7 R$ F" W9 d: F1 }/ O7 F" h" V
frame = itemFrames.contentDocument;
2 [( j3 d% w) S- u( e; Q% s* ` this.RemoveHide(frame,objname);
9 L5 R8 o1 |: f% K4 y" Z }0 X; B/ h+ z' E; p9 l
}
: ^, K ~! R0 u2 i5 o! L$ Q$ F if (itemiFrames.length > 0)
; p# Z2 ~. L# H! Q4 O' P: C% I2 K {
2 i( V( N; ?- t, M for (var i = 0 ; i < itemiFrames.length ; i++)
' l2 m5 d9 n( o% K9 i4 t% { {4 a/ N5 y1 Y1 [0 F6 o
iframe = itemiFrames.contentDocument;
9 W( o" n9 j! u! H, u W. D this.RemoveHide(iframe,objname); ) B& b! i# j$ O' z7 ?% l
}% O- c0 A+ \% G" Q" O9 e7 e
}8 A- Q% d) w3 Z9 Z; x
}, I: P3 }) e! r
catch(e)
6 l: g9 F( W* `2 {8 X( \ {+ b- V/ p; Z) E* O! J8 n' J& o
if(debug)
( I' g$ V4 g! ^/ Q5 T+ y3 q {* D; J- D7 s* N! y
alert(e.message);+ m8 @' h/ h$ f- m4 D ~, X8 B
}' A* D. s9 w$ P2 f$ R% t
}
$ j L7 _' `9 i! n }
( ]' j: o9 ?" W" J, Z 0 }! A ^- }; Y6 g' ?3 m1 [
}6 S; }" Z2 ~7 ~0 g, D0 V2 o& G7 T
5 t7 {5 f' O4 e
function getRGB(colorString)
9 _9 c1 l8 d% }3 X{
% N6 i2 r' V/ d1 x0 T- S var RGB = new Array;" d+ l2 L$ i. S$ _# |$ h; x6 m. c
var tempSting=colorString.substring(4,colorString.length-1);7 P6 N) {. E. T/ {3 ?1 @
var tempArray=tempSting.split(",");
4 E1 E6 x* v" j- K! ?3 L/ I
6 i8 F1 G+ \% p) N5 B& R2 u RGB[0]=parseInt(tempArray[0]);
) Z. v7 z* Y. K1 h RGB[1]=parseInt(tempArray[1]);4 t7 {% N! z* C2 ~; m$ i# R7 t! E
RGB[2]=parseInt(tempArray[2]);1 d1 d/ g! r& j- t" Z q
+ F: [* K8 b$ W return RGB;
8 ^; M& H$ s# a+ T}
3 x* V W/ H O* @function keys(evt) : Y0 X7 t6 {3 D- v! i9 a/ E0 d
{ * P! d8 w# ]( B6 H5 M9 y# Z
if(evt.ctrlKey && evt.keyCode=="81") , \/ h9 g; }0 J3 v
{
9 u% ~# c V) h0 r4 d6 _7 p( X2 b CleanHideObj.on(0,1);: R3 q8 z: v! P, }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 U. g) ^' q# n, ?4 o # `$ k# C) y; o$ U0 P! B
}
% G7 u+ A' T: N( o$ v }
. {, p& _ Y6 e& }; D$ t, _4 r* cdocument.addEventListener('keydown', keys, false); " H$ u0 Q4 p) A$ b
GM_registerMenuCommand ('Clean Hide',7 h0 `5 K; F: L8 V/ D! z2 w+ ^9 X
function(e){8 W5 G2 K; b6 B! A5 l/ \) @7 K
CleanHideObj.on(0,1)
: r5 ?4 a5 i$ N; c A% [9 ]2 @/ halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 ^, t8 f1 e# _. Q. a- }4 f0 C
});/ W1 `# G7 k& I& U
|
评分
-
查看全部评分
|