|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # X. [9 E2 T# `$ N: f
0 @- ^9 s+ Q/ V% s火狐插件,用猴子. z# d8 y: [2 F# R+ S! D! Q
5 C) r5 n$ a1 G" N. u% Y$ T2 A
var debug=false; * v# N* {( |$ h' l! _" c) M3 @
var CleanHideObj=new CleanHideClass();6 Q+ K' b0 `& r6 k7 A& P
3 l T, N+ \! X; @4 r- Y1 o, ~
function CleanHideClass() + i# y9 ^7 R; A
{ ! v1 E+ G# t. n
0 w8 \' ~5 z: J
this.on=function(id,bMZ)
1 ~/ l- ^! X1 d `) B {- r4 {, P. v! w: {
. U5 H" i* { |0 m0 Q if(id == 0)4 q0 Y) H, n6 O4 M3 y. T
{
# C% w, l& _" X3 z; |, l/ { var page=/* document.getElementById("content").contentDocument */document;
1 a2 R" z' h. B9 j; t7 W) o& a T this.RemoveHide(page,"span");7 A1 W% \4 A" C5 e$ n$ W
this.RemoveHide(page,"font");# e [/ E" X, ?. d1 q1 h4 r$ O! n
this.RemoveHide(page,"div");6 I" m6 w/ W! G( t0 r( W
this.RemoveHide(page,"p");
! v u2 r& F* Z g: h6 n
& M2 x; | J y/ h9 F6 z7 w }& w3 l; {/ ?0 d1 m' i9 k4 x$ ^: T
( E) }& m/ N% d5 Z }$ v4 m ]/ r; d' ? {; [% l; }
this.getobjstyle=function(node,prop)
* c- F$ E7 Z+ C- F2 D& T {
% ~ t( N, P; Q: E' [( ?2 l try8 p, T; V4 v+ w. C e
{
4 h& [2 Y$ c; O6 Y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# ]. R T5 ]+ Z3 ^. u
}. g( `( ~0 B4 ~
catch(e)8 T, P2 j/ w: k: W/ ?& \
{5 b2 o" _" x E6 j7 e/ P
if(debug)
# Q. G8 M. O2 ` {# u# l, w( C) O
alert(e.message);" M- [! b7 x6 B
}
( i# m6 L8 W1 k8 u. s. [: D / J1 ~9 w4 W- Q
return "200";
4 x+ t7 u5 y6 L3 g' K }4 {3 f7 s, b9 ?& E0 w) M1 F
}2 Y6 u! m8 [& B4 x) |9 Z2 ~
' t5 `% ]3 O9 P7 r4 z) L9 ?& f
this.RemoveHide=function(page,objname). r8 y p" }2 l8 D3 Y
{
$ W* P* v4 Q2 `+ D3 B; y; Y try- g+ L2 x9 R; ]
{
. I4 H) E# T) B var minValue=15;' V. X. }: T3 G9 L/ x1 y
var objs=page.getElementsByTagName(objname);
# ]# J7 C! Q: ]) O$ i# _6 K/ g! `; w& l" s) ^0 V$ T) {2 r
if(objs.length == 0)
9 ~9 I* H5 b* x' G" w; Q9 n {
; V: }# x5 i% U3 v if(debug)
& \( p& Z1 L% _3 S {1 p2 D/ ]$ i) G* h# Q
alert("no object found!:"+objname);
# C2 u$ b3 R, f( K }2 X+ o3 r& ]9 R+ {6 A
}0 L1 {* h! k2 |7 K( R' @
else
$ `' {9 r R9 B5 Z' {# ~: G- C0 c0 K {% q1 ]4 ~1 D. b; l
1 S7 b7 f9 M$ Z; b) h for(var i=objs.length-1;i>=0;i--) & `- c& F- i( i2 a& f' u
{
' c! M( Q% H2 t9 I0 ~ var node=objs.item(i); . G5 ]8 n2 J( [6 d' n! j
: H" l; o' L$ l0 z: Z% ]
3 H- c0 z: e, h5 k/ J if(this.getobjstyle(node,"display") == "none" ||
) f+ d- a) j# q* C6 q this.getobjstyle(node,"visibility") =="hidden" ||
" H5 E% ^* x- t* z( }* ]( \ parseInt(this.getobjstyle(node,"font-size")) == 0)
`5 d# v S/ q; Z2 F7 f- B: b {& \5 }1 E w8 M! y2 |
if(debug)
; P8 {+ i, U) u. l9 M+ X) g {$ M6 f: p4 ?5 J2 e
alert("remove invisiable!");
# t; U: o: `' o- ? }
, C1 E9 l" ^/ K6 I! G' N6 x$ w node.parentNode.removeChild(node);
# u9 R. M5 A. A. p6 a% G
* R1 n6 m& N: N, C& x }0 A I4 c5 R! n: G+ l* ~
else
2 t h& {: T1 i( t7 P: T {
. p. M0 M/ h$ S& D+ u1 P- v if(node.parentNode)
* ^/ E3 K# R% r. A; y3 A0 b. ` {
4 |* E7 b0 {$ F var orgNode=node;# y. ~7 Y( W3 p
var orgColor=this.getobjstyle(orgNode,"color")1 Z7 J* p: _7 @ U( p
var orgRGB=getRGB(orgColor); 4 x/ _- [1 e4 r( o
( S& J# N" [) U% B! z8 S var parentNode=node.parentNode8 o( j: W* z: A0 W, l2 d2 Y* |
var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 r8 w$ s% W0 a
9 I5 y- r0 i" n var isLast=false;
6 P' V. y x6 i6 g$ a( W. q % Y* ]0 N# x( G" z
while(parentBgColor == "transparent") * _, |: g- h4 @' c, H' |4 E
{$ h' Z& D4 |; E. ?" o4 f
: ^9 L! T+ l: U4 Y5 b0 s2 K3 s) _* n # B* @) R) t: J
if(parentNode.parentNode == null)
; t* n+ j: s* R) i+ R {8 U. w& ?( u0 E; @7 I, w: W
isLast=true;
; s- A* ^0 L# M) _6 u break;3 A- G, h3 }: J1 R6 X
}' w7 v T$ n$ M$ w1 Q9 C# u
parentNode=parentNode.parentNode;$ M) j( t1 L. Q. D5 K6 k* c; A( w
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 c3 O6 v% T5 i J$ Q* _
u( {. \. M% Z6 [ if(parentBgColor != "transparent") ' v- t$ F; Z3 Y/ ?! r. o
{. R, a' q3 S$ w8 j' {
break;
- w" L9 B9 A* G* {7 z$ ]/ q }
) J2 r: n6 o* q( H# F9 P% H }
( F- ^' Y9 |& x if(isLast) $ Q/ t+ y( k1 C& ]+ C2 `( x
{
9 y- t( I: r u# H& ^ if(debug)/ D' Z/ W4 x( c0 @( S
{ k8 S0 p$ S# {5 i+ C9 C
alert("last!!");) X6 z# K9 X4 T# L4 }
}
1 f# s V8 B5 {8 V6 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- L! f. {: k: D
{
; Y Q' z, n% l: |+ p orgNode.parentNode.removeChild(orgNode); 7 j9 A/ K0 h( ?* f. U
}! V4 m$ D% f4 ^$ u# E
}
7 u6 y% @: Z1 {$ E* g$ |3 h+ D else3 A. j# ~! p; z, \. _/ R# ^' R
{
5 \: a0 u0 D. d6 t) h* t if(debug)
N1 M8 l+ ^& I, u {5 T3 C1 V1 L% ^/ z" g
alert("compare color and parent bgcolor!");
& P2 W) Y$ w, ~0 W }7 W! f) U' G) W- r9 z" T
parentBgRGB=getRGB(parentBgColor);6 ~( I1 P. k* a$ \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 A/ e8 l4 [- f
{0 v0 Z* C4 q9 k/ T9 G! o
orgNode.parentNode.removeChild(orgNode);
( R/ P1 M5 _ n8 ?7 D% n }/ U# f9 a3 L; d* E9 I
}
$ e2 }: r* _7 q: \ }
' a$ C) x/ I/ Z3 z- ~9 f+ T C& a }3 ^& e( h4 }% z/ F6 t1 `/ G
}! ?4 ]6 g) r. j# X9 ]5 s) v! d$ p
}
/ b0 L$ [# Z$ w' m/ I: f
. D9 U) J5 l" Z6 R X1 @
& _, L7 W. J) M8 C V8 i# k var itemFrames = page.getElementsByTagName("frame");( i* D# q. p! y5 r
var itemiFrames = page.getElementsByTagName("iframe");
; p* I+ Y+ T/ F- A: Z0 X
: i3 `" k" U6 [2 s var frame, iframe;9 H' R9 T9 Y) y) x7 F6 s7 f/ o
if (itemFrames.length > 0)
/ x6 X+ ]# _/ `: U1 o {
1 I7 D4 Z" C4 i! D4 W. ` for (var i = 0 ; i< itemFrames.length ; i++)
3 Q5 d8 ~$ V/ T( A$ c {- D1 M" X+ j" X; u) y0 s
frame = itemFrames.contentDocument;
s- V( R2 F2 _- J2 o6 G this.RemoveHide(frame,objname); 2 o/ C9 [/ z$ ^: y- r6 |
}
& x' C: a8 G) I. } }. r" N. y" k" W9 E, |
if (itemiFrames.length > 0)
4 F7 n! G* y+ H% k: |# l {- i6 }7 G% Q& p7 b9 h
for (var i = 0 ; i < itemiFrames.length ; i++) " t c# u. d k9 w$ o! I
{
* a4 O. ]( D" O( i iframe = itemiFrames.contentDocument;
! C l/ p$ s7 c' z6 H5 _3 A this.RemoveHide(iframe,objname); % u, X% Z7 b: v! s- `
}1 ?* M& E$ N2 X2 R
}$ w- }3 e. U! T, b
}
' a3 P+ j! ]% e; ] catch(e)
8 } ?- [) m) e& {; `% r {% e; s' A: T3 W1 d3 B
if(debug)
/ j1 A8 m6 U$ W4 Z4 v {
6 F$ [( ^( H1 A# r( Z8 z alert(e.message);
0 ?5 m( O3 m( E* w( O" t6 H5 c }
* `0 }; }( Q$ o- H: q1 o }
( l, Q. Q6 w3 I. d: n/ X- y; Z }
: y& `/ ~9 K( ~/ q2 i. `- N2 [ 5 n7 D/ o m) _
}
# s2 [7 y% S+ a3 @$ x, K, s4 ?1 y+ ]6 e* ?8 g8 k
function getRGB(colorString)/ O7 }) \9 j9 G- w. q6 g9 j: _2 X
{2 q* U0 G; U" Z! _9 ~
var RGB = new Array;
. l- d+ x9 s/ m1 C5 t& x/ S var tempSting=colorString.substring(4,colorString.length-1);3 K5 l1 F. e9 h% u" t5 E
var tempArray=tempSting.split(",");
0 H1 N% c5 Q: E1 e" n
* Q! n% P$ e, V- X8 ?2 L% ?% ] RGB[0]=parseInt(tempArray[0]);
$ o+ T4 R# _2 N8 v) [8 b/ a RGB[1]=parseInt(tempArray[1]);
. B* ?. a6 o! q& _4 F RGB[2]=parseInt(tempArray[2]);
& L' U* ] F) B9 }+ |& T! f$ {+ T0 v ( o4 z2 u3 w; Z P% S# S
return RGB;; p9 E+ @" V# S
}
K! o, J' X6 u7 e7 I7 b4 lfunction keys(evt)
$ @) C4 U @, \3 L; q {
9 F: M& z% V; H& ~, [, k4 I if(evt.ctrlKey && evt.keyCode=="81") - J+ p- r# x& i. r* p4 g, A, x ]
{
9 |' g& X' d6 d0 X2 T$ Y CleanHideObj.on(0,1);$ y( ?+ p* V' q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 |; E, Y$ O; h4 i. j
Y- z4 b- y1 u% x( a% k6 S4 C
} ! u4 e6 j) Q0 H. O5 J
} ) S5 f2 A ]$ d3 n2 g) u2 k
document.addEventListener('keydown', keys, false); ' v% ^3 m* W- l% n1 P( Z
GM_registerMenuCommand ('Clean Hide',; t' v$ R9 v; i0 c7 s
function(e){" T. h- f+ p3 a4 _8 T9 I- z. H
CleanHideObj.on(0,1)
/ T2 M! Y& R8 @1 d; a0 Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 M5 c _7 o( T7 `
});
- i; A' X3 q$ T( n/ Y6 P# } |
评分
-
查看全部评分
|