|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! g* n8 B" f) Z4 ~0 K0 I
} e% n" H8 n* B# Q; M9 Z& v
火狐插件,用猴子
& r- k% v& }6 ~( d* F
3 _# l2 |3 M, c7 e* U) zvar debug=false;
% R8 {# V! V1 d H' X* p2 Vvar CleanHideObj=new CleanHideClass();7 x/ E' H* q" j; y; Y! b
3 u, h5 @% v7 I# a8 E# lfunction CleanHideClass() & V" e; z. {) b% |6 d3 f! |
{ 0 R9 Z% _1 Q# v1 B4 q# v/ ?
3 N( H/ L9 c/ |2 x' Q& v1 L% R
this.on=function(id,bMZ)
" \6 L9 J* S5 C2 E+ \# W {
; g! Z6 R; E( p: D' J$ w! D 0 m) D( ^! V& d- @: b& J: d
if(id == 0)6 X8 ]; A/ v/ E% ~5 t
{
% S8 h- A6 v. e& V9 S4 q var page=/* document.getElementById("content").contentDocument */document;
" a( D* z( c \) k this.RemoveHide(page,"span"); A! `9 B5 `( l: v. t$ y4 `
this.RemoveHide(page,"font");
6 A2 g6 a$ n: h( F+ W this.RemoveHide(page,"div");9 W6 T3 ^0 w1 P
this.RemoveHide(page,"p");8 M( [- e3 j! N6 ^
* ~) s: P: F; X- s) G; A* u }
, z! O. w6 W, G5 d& } 3 G& \1 t' d1 C, |# |# h
}
j* c" Z. o1 s2 t8 T6 C4 G" G: z this.getobjstyle=function(node,prop)
* d0 C$ [! n. @" b7 L5 S4 U {( O/ y3 F7 c% R" c
try: D, e. h' s1 G8 L6 ~
{7 e2 p& ` s/ p* I" |% X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 I% ^. y. `( i+ M# L4 T
}9 q# ]. J5 ~2 m; g: I+ Y- p
catch(e)0 l1 }2 I4 X5 W" U4 S+ @
{
5 R8 `) ?4 ^) ?8 \6 Y b if(debug)
. O$ L3 h/ g4 T$ e' s6 Z8 K1 b {5 d- v3 n; [- b, Z
alert(e.message);
. j! Q1 @) {+ y3 N. B }
# i& ~$ d, a5 R" @9 @ 3 |9 `8 ?; e: N$ s' M
return "200";
d# S( E1 k4 J7 G- K* [; m0 J; a }4 v1 A' b* W( ~
}) T, O# [$ A$ j0 K$ [& B" N) d2 p
& w5 p2 w1 y2 \# \/ `) e
this.RemoveHide=function(page,objname)
$ n9 `. u; D1 J* j: ] {
2 l; n1 G. U' N try" K1 H! N, S- v. E& m, n) g
{# X! I& E$ a* {6 L
var minValue=15;
+ e- @0 u1 w3 G: A, p- y var objs=page.getElementsByTagName(objname); 8 F, T- r/ N, \5 L1 L
% c" Q% `& `6 L) q if(objs.length == 0)
& q, d- v" w( n" U' G9 o. _ {
# |, H. r! f( [4 m if(debug)
0 k1 y/ A4 Y7 ~ j1 A* x0 }7 M; C {
# a7 |% u) j2 k) i* I7 D8 T1 A alert("no object found!:"+objname);
+ a6 U# ]& u3 W' m! Z }/ Q" b) w9 u" V
}
* |6 r7 }9 T* j* O- }8 @6 w' i else
. z p+ A) q W& ^1 Q {
5 s+ l/ h3 f$ {1 }; |) d
2 r) T* Z1 b9 r% { for(var i=objs.length-1;i>=0;i--) * g0 t) |! o, w9 z5 A( T
{1 d# v" @7 i. t: {& J& t$ c
var node=objs.item(i);
) k Q$ e% ?# [; V5 l* `
2 c8 r! w& e7 w0 k ?! P * ] \* w# {; u2 _6 U$ H) t/ z, K" E& p! v
if(this.getobjstyle(node,"display") == "none" ||
5 l- E( Z2 U% N$ C! S8 e/ W this.getobjstyle(node,"visibility") =="hidden" ||1 z+ |% U/ l7 U* U7 v2 [& T, _
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ ]$ S( W# [0 w8 h/ a {
* |; \( @3 I6 O if(debug); \- ]9 g. K4 R2 B- c! X$ ~
{ c% Y+ m7 w5 O" A1 n/ q! L
alert("remove invisiable!");" d0 o- p* q, O7 A% Q. F& r
}$ U5 p6 u- w* e/ O1 B! P: v
node.parentNode.removeChild(node);. g" K' ]3 k3 @7 |% z, N
" t# S0 t2 a7 s a! e" u4 M2 g# g! d' p }% S1 A" @4 M) p6 N
else
* Y3 l e$ t* ?5 [ {% @2 B7 F2 \- X& p5 M0 w
if(node.parentNode) + G' d3 A! w* Z7 n! Q
{0 n, [( v' Z W4 v$ u0 D8 P
var orgNode=node;2 V& F+ M' S8 k1 |8 R6 D, u6 a8 j- z
var orgColor=this.getobjstyle(orgNode,"color")
; F$ W. i9 r, C& f/ R0 T var orgRGB=getRGB(orgColor); * h: ~/ U& U# N- d1 |* Q" m9 T% D
7 y; n+ [4 v; ^. _6 ?/ U
var parentNode=node.parentNode9 R4 v U5 L# Z W
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 t9 A/ I7 @$ ]$ H! R' C) Z , \ t B- h r2 d4 M
var isLast=false;+ G( y1 p# J, e% O0 G7 K1 x
1 l/ ^/ H2 U4 G% g- `/ S c while(parentBgColor == "transparent") ; U( A# ^* a* c, {
{* G# A1 I O6 R* Z. l, H
& ]# r9 Y7 h. [& R% \3 o 7 W m# J5 Y( t% J5 t
if(parentNode.parentNode == null)8 z* p( a f9 T) y2 q1 {8 z
{2 @+ W: U: O8 O) q5 @, w
isLast=true;
6 w7 W9 E4 Y" h8 n: i break;
: d0 z' L& ]2 n7 X }
" L3 e/ V' U: S8 r' E6 M; C parentNode=parentNode.parentNode;
* D* m8 O. K2 b0 N8 q! q" l parentBgColor=this.getobjstyle(parentNode,"background-color");5 ~; Y2 g$ g4 O, x d
3 G: k- x. ?( q7 c if(parentBgColor != "transparent")
: R6 d* X% {) W: p, v: g- k {& i0 o- p* q+ o6 W- i/ N, o
break;
" {4 W- h0 M. \3 ^# R% c }
2 J8 ~ Y1 D0 Y; b5 C6 G: G }. S" }' _! n$ @2 M; e
if(isLast) 2 N& i. |* T% J) l5 O3 U
{
; b, M c- O$ m# h" u q if(debug)
. d9 i5 _, `0 q4 ] {8 t* Q8 ^' y4 S* d8 R
alert("last!!");
2 ~ S8 r6 c: k! h' n }+ W/ O" E# k; W/ `1 a) w w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 C, J% F& @3 d1 p {7 F! M T1 g+ I; u: [$ A
orgNode.parentNode.removeChild(orgNode); * D* W, y- L6 }" d' i* f
}
# b1 v& n, B$ ~5 p, U }
- w }. @' e0 G* `+ z7 N! p& k4 f0 f else
5 Z3 _- p' S. N4 W {& A d: `* h J' e; y
if(debug)1 \+ D$ a: F5 y% ]9 n; Y( k) h
{0 g, P" u9 f0 t1 R: z) s2 g
alert("compare color and parent bgcolor!");
6 @& P6 w# Q( U }9 V/ l$ O: p5 g* n
parentBgRGB=getRGB(parentBgColor);+ i, d3 n- k+ c6 E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 Z8 q1 M' l7 S9 D) D9 q {% ^2 S4 ]4 c" ~6 e
orgNode.parentNode.removeChild(orgNode); . Q; K+ [1 I- Z5 m) o6 j
}
7 E" X) [$ p) e0 [ }
; \1 w! V# z6 c& B& Y }: ], }3 z) r+ s$ ]# {
}0 L2 R! N) q) p& u* J; a _
}
4 Q3 L2 ^8 A: I2 {7 s4 W# | }
" ?: U4 w6 F( q8 N+ ^ Y
: X- a( |4 Q" L3 \ ' A- E7 A- X2 J p% ?# P0 J l* H
var itemFrames = page.getElementsByTagName("frame");
' Q6 W5 l7 \* D e8 Q9 v$ S7 i2 p! d var itemiFrames = page.getElementsByTagName("iframe");
7 m; u9 q( H% N! C % n: `; A. U' c7 @* h- b, w2 f [& c
var frame, iframe;3 P+ D* h# S5 k+ \
if (itemFrames.length > 0) E0 ]! i" P5 w8 g0 ]
{
' O% Z7 |" o' \ for (var i = 0 ; i< itemFrames.length ; i++)
) ]. z; w& U( W, i {
8 S0 ]. M; F1 n frame = itemFrames.contentDocument;( J$ n9 F1 e' E9 V H0 y8 ^* `
this.RemoveHide(frame,objname);
* G. X) q4 l w4 T6 d }* x+ ~. `; W/ m
}
+ l6 P! u ]6 y( a8 m% e if (itemiFrames.length > 0)" y9 R4 n, V7 X
{
7 V! |4 h. Y6 k1 h3 c3 G! F for (var i = 0 ; i < itemiFrames.length ; i++) 8 \: E$ N1 k8 p' C; L
{
9 u9 G% z9 h6 y iframe = itemiFrames.contentDocument;
/ T. X* U u! f. a: c4 ? this.RemoveHide(iframe,objname); , Q/ M/ |4 T+ C( h9 a% L8 ~2 F: X
}
. v* u+ M5 [$ g3 y7 _ }' j. D* g0 b Q) ]
}4 o) r( T) P1 X3 n! r
catch(e)6 ^6 B% o: V9 n
{
9 E( v6 F) l& I# ] A: ~0 Q if(debug)/ x$ n0 N. T3 `* R, w) Y
{
" d6 L9 {' _2 e alert(e.message);
+ m; d$ d- B9 v+ f! g) B6 o }
0 O( s3 _, c/ S }
) j% j9 Q0 _8 X1 u" R }! m5 h" w* q! e% [ \6 i6 R
$ N1 I" ], }! {; b' c}
2 I# Z) U% s0 A% {6 R6 t, V$ G0 o$ w
1 h5 l! g7 `' {6 r% h( Efunction getRGB(colorString)
. N S0 O- K5 {6 Y+ C3 V{( n6 r- G/ y. j- D- g
var RGB = new Array;, B( t0 ]) R" `1 u0 D5 u' T
var tempSting=colorString.substring(4,colorString.length-1);
0 P. W7 D$ L8 B$ l var tempArray=tempSting.split(",");5 A6 ] ]- ]0 i/ n
! |& U+ s; a+ J L0 _6 @) Y RGB[0]=parseInt(tempArray[0]);
' c# s p1 p4 k& k RGB[1]=parseInt(tempArray[1]);, C- t9 m6 _3 K3 S/ F6 s
RGB[2]=parseInt(tempArray[2]);
6 s1 N! [. w4 p
* J6 W5 N0 \6 T3 O. S0 c return RGB;
( z1 d0 q5 O6 u7 R3 U}
' d; A/ Z, y5 t" J [function keys(evt) 8 c1 Q$ R4 y. ~: y0 }0 E: S% {
{ 5 q; F+ Z& y. [ B1 O
if(evt.ctrlKey && evt.keyCode=="81")
f) c5 Z3 w; S' j6 a { 3 [7 \1 X6 `: f: ]1 e1 ~) P& Y5 p
CleanHideObj.on(0,1);; }9 m9 U8 P: s$ O: z; a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 J1 y. Z5 g0 E( d 1 P9 p. S3 s- N- K9 u: Q6 S0 p) B, {) ~
} $ \, l, |: V2 \$ |0 `$ r+ _
}
# X, R L/ Y2 w" }document.addEventListener('keydown', keys, false);
/ o) ?! h. F! t8 A3 }2 b: |GM_registerMenuCommand ('Clean Hide',6 l3 J% E; n1 q$ u- ]5 {: g
function(e){: W, s0 |5 F' @2 g
CleanHideObj.on(0,1)
9 W& n& w1 Y2 v# xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' H. \9 w$ G5 v
});2 T+ k) \& D. w
|
评分
-
查看全部评分
|