|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' \/ H. Y6 E- \- f
& d" o Y* L9 ^火狐插件,用猴子
6 V' u+ K9 {9 ?4 T' X l. g- O4 R' P; @1 z) a( L5 x
var debug=false; 7 E% X, P8 ^2 J, t& F3 z
var CleanHideObj=new CleanHideClass();! M1 @8 G$ `3 J3 b; J7 k
9 x& N/ U$ k9 K2 i% mfunction CleanHideClass() 4 g" W7 o( V" u3 A5 E5 b# U
{ % y* m, W7 d* v# x" q! @4 v; m
6 ]2 g4 Q2 p! b" e' h
this.on=function(id,bMZ)
4 @$ |; o a, k7 F* X. k {
, Q7 ^% y- Z# ]! A! R * q( E& d& {1 z |% B0 [; V, d) J
if(id == 0)& o" K3 \, R+ A1 e% y1 H
{6 r' l: E1 B% d: z, H m2 X
var page=/* document.getElementById("content").contentDocument */document; 6 o$ s: o9 T( o) X* U) X
this.RemoveHide(page,"span");
! j* r+ ~6 }# ~8 g6 q, i2 ?' B this.RemoveHide(page,"font");6 ^# U" f6 n, P# B4 `- i# T$ A0 b0 O
this.RemoveHide(page,"div");( t3 O& J! e. x* q$ n4 d( t
this.RemoveHide(page,"p");
' p) Q0 ]% O6 C0 h7 L& U * U( A g. W0 F* A
}
& V& Q+ u2 _# d # u: F4 Q4 S. | O0 S( u
}
# l: \ a+ g% h8 Z8 y" ^9 O: k this.getobjstyle=function(node,prop) U% f8 V Q9 N$ g' R- L
{
: F5 s* o" [) U9 [ try
% ?1 o" M5 I2 ~( O: w {
9 g8 f+ H/ D& x' l. Y$ A S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 l% s; \& L: a2 n' Y( m
}
/ t$ c+ V2 l$ Q# N8 j catch(e)
3 D% p8 d9 n! H+ `* V {
3 T! A" _- [) ^ if(debug)2 C3 V3 J+ e; L, s
{2 [+ {! m8 a, l0 B" v+ L
alert(e.message);# u, `3 P/ J8 e X$ @
}
' X6 }. o" l4 J0 d7 e ) I, B7 l4 G& i( p
return "200";
! B4 e% F3 ], f; A }
T m* p" @+ D2 J, e, R# a4 o }
8 I: {, e/ \& O2 ]3 T
/ H# O9 ?! S4 _" Z* H this.RemoveHide=function(page,objname)
; n2 u) r" F& t ?( I# @- v {
& f" B) A. x0 K( Q _3 G$ ], p try( X$ e; l# n9 Y! k4 B
{( j5 P( f$ P F& X3 \
var minValue=15;3 b$ a# N6 O% Z8 Q* b) a0 Y* R* j
var objs=page.getElementsByTagName(objname);
6 E3 `0 B8 P6 s1 @) g, o3 M$ L/ U$ H+ C* D
if(objs.length == 0) 8 K5 l8 v3 N* O+ b
{' X; M1 e' W4 d4 X+ m9 |1 G
if(debug)
0 ^4 l, b9 H$ h) V! F {# D# {9 I# D$ H0 o, j
alert("no object found!:"+objname);8 [; a7 s# u- L1 f* V3 p
}# [8 w! M* h: ~0 F
}
/ H# T0 ?' Z, [3 Z else" ~; N# y9 r! j- G- ^
{
' ^( A" l* Z; d( u+ y. a \
# U0 H% Q# |8 r5 M4 g: u for(var i=objs.length-1;i>=0;i--) 6 V; a" | y1 N6 G3 a
{) s/ K% J/ \1 b2 i9 X h0 u
var node=objs.item(i); ' g8 L8 J9 L) R0 ^% \0 Q* a
( w2 r& ]- L/ ?* O' M
; w/ {! M4 T; s if(this.getobjstyle(node,"display") == "none" ||: R' B N. A* m) X/ ]2 H
this.getobjstyle(node,"visibility") =="hidden" ||
f9 E3 s5 w8 ?" q- E5 ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
; Y) q( F6 ?( B6 b0 f {: ` z: W& l4 W6 U V
if(debug); B7 J0 b1 ?% ~) Q; G1 q- Q
{- v! X6 x; c* x& [6 U
alert("remove invisiable!");
( z) x8 [& z, N1 P }- q' |; b5 b( | m
node.parentNode.removeChild(node);* J6 t: T% K; e1 N
8 {- V! [/ Q- N# y- w, k }$ `5 V. @$ C% Y0 k( w; e, Z$ l
else
5 [4 ^2 ^3 v- S2 ~/ c" g# `, G {- @+ B% ~1 O) t9 E% v
if(node.parentNode)
) u3 z$ O1 D: [ z1 [9 M {
a6 c: n; s& f3 g! s. v/ r var orgNode=node;* _0 x4 i, S# [# b& q7 g
var orgColor=this.getobjstyle(orgNode,"color")
3 b; d0 s$ M" l* {: Y* p var orgRGB=getRGB(orgColor);
8 t% ^1 Q/ q5 x7 ]5 E; `. S! h
: w: U: ^& q& D+ ]7 s. a* K var parentNode=node.parentNode6 t/ w* R9 q2 r; u, h$ P$ C
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 s) H. ?. p' C4 e b
6 f/ H8 A/ f2 u% | var isLast=false;
5 \4 C! T4 B! q! ]
/ i# L. J, R# e; P$ O while(parentBgColor == "transparent") ) |$ |5 [- O3 e5 c/ [3 J7 [
{
( v( d# C! N3 Z" \
6 V( I. H4 b' E1 `4 O/ T. t
; Y* j4 L# b! P+ M2 } if(parentNode.parentNode == null)& ~8 p& m2 z7 Y$ Z
{
" F( c$ i! P1 ~! Z; U* A* o" P$ I) v isLast=true;
; i! U& B8 c4 R0 H break;
+ @ I" C) i- Y; ^( n e8 p0 g3 a: ` }7 C( Y y: S$ [! q# s/ K+ z
parentNode=parentNode.parentNode;
; p8 A7 q$ N* v8 g parentBgColor=this.getobjstyle(parentNode,"background-color");9 N! V2 X. X2 [/ o9 }
6 |0 ] W) L# N* X8 L9 y( q
if(parentBgColor != "transparent")
& @# L: w o0 D7 c3 \ {6 D# B# T4 }1 W* b# z; D/ p
break;
6 V$ u( M; A. F }8 S1 ]$ X1 W0 x7 K! d: U
}; w T2 r# l4 f/ W) M0 E3 Z* ]
if(isLast)
; A, L0 p( t& M* ^% ^ {
2 I- A9 g1 }9 R9 U! [ if(debug)) |* e# l# G* @6 s
{
" m0 O1 v5 O( b3 A4 Z! H alert("last!!");
7 y& v- i# {2 {# p! R }, s1 p9 c- t) m1 @% F; \3 L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). K( b) Q6 \: ^* M ]
{. m9 G S- l6 N5 \. }. f$ F8 o. t l% l
orgNode.parentNode.removeChild(orgNode);
+ L9 D' \- d% @! G [ }
b; H" C% s! ~4 K0 } }% e$ c* F. E! w7 [- g
else7 |' j1 A+ S2 p9 R4 D0 [! _: c L
{
0 X D2 O) C/ N if(debug). e/ _2 F; E# Z1 y; b1 S
{% y. `9 d9 }8 m9 E
alert("compare color and parent bgcolor!");9 q& U- r9 V/ |5 E
}! B1 h, e* _' Z- G6 \: d
parentBgRGB=getRGB(parentBgColor);
! ]- P# u5 J: |7 v/ Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& U$ H( m d# S& ` {
$ k8 G. B; E& f1 x! \$ E orgNode.parentNode.removeChild(orgNode); 1 j9 I. r4 _6 b v# v5 i: H( i
}; P* H+ `6 P+ r* @4 Z
}
1 Q3 ~% P1 ]1 F W }2 x& y. C& k/ C
}& q2 l) M% q$ b0 P8 a8 \- G0 l
}
4 \5 ]5 S. C; B* Z; I7 l } G( s7 p" w: n: ~3 q
+ a) ~& ?" g0 O8 A5 G
K! [' s) e% v
var itemFrames = page.getElementsByTagName("frame");
$ w- Z/ M) G. j, H var itemiFrames = page.getElementsByTagName("iframe");
3 r0 I7 r2 v. a1 L6 O) K2 e 3 y* r6 m9 e: V4 |5 d! T
var frame, iframe;; [5 I4 c2 w3 F( l0 o! D
if (itemFrames.length > 0)& h1 |# T- u2 _1 k! @/ m9 d; }
{
! a# b5 o" b( N' A' y, s for (var i = 0 ; i< itemFrames.length ; i++)
. T4 @; e2 {3 M# P {& r0 \. ?3 n- M! W9 b" g1 M
frame = itemFrames.contentDocument;& J& G( M P+ R {8 A' w. J1 t
this.RemoveHide(frame,objname); , p8 X6 M! ?' b K4 z
}
4 H% K: U+ _4 ?6 u. n( |% t2 J0 ~- Y }
H ~( n. L% r1 o0 M$ D& z if (itemiFrames.length > 0)
( K1 M3 o f* T( ]: Q, I* [0 B" _7 { {: e; i3 Z6 o* i
for (var i = 0 ; i < itemiFrames.length ; i++) * N# {& z- E& G; r. }4 h+ I
{
; o5 Y3 e- e; V- z3 q7 q iframe = itemiFrames.contentDocument;" z3 J+ J J" E7 E; s
this.RemoveHide(iframe,objname);
: c+ x$ q+ I$ Q( p1 I& M% N }( H0 W* ]1 c% p2 t
}: N/ t( q7 _, x! D) |* E
}
8 ^( @" G2 d! y( C. E: e" N catch(e)! l! t9 J- t' P3 L h, ]" U- j
{
: b/ X4 M3 L# H5 x y1 | if(debug)
) P( F- r9 M5 j% z8 q! } {8 U5 o+ ^8 |7 K, c2 Q
alert(e.message);
! b {& M# j9 M1 ^/ a }. M7 I$ L5 ~& ?6 I0 p
}" d) g/ p# q2 T$ }- v1 [
}) q% L! ?/ |" G
6 X4 D/ D1 e1 T
}
" S. M/ S' R3 }" |4 B4 T5 O+ h+ i& \! C7 s
function getRGB(colorString)# ?. K( G* M: o3 b! V
{
! Q' u. @- o" d( n0 n$ x. @7 {. u var RGB = new Array;
8 S) g9 B3 a* [# s8 M; Z var tempSting=colorString.substring(4,colorString.length-1);7 q$ s/ {3 |% @; |# y" k& Q/ l5 r
var tempArray=tempSting.split(",");7 W, n9 O w- c
. f* D1 B+ f* X; q- X RGB[0]=parseInt(tempArray[0]);
$ C3 a- ~% ^9 m* g- R RGB[1]=parseInt(tempArray[1]);
/ i. z8 L( n: p5 q0 B RGB[2]=parseInt(tempArray[2]);
- ^( t* D' \- j& ^! T4 y" @ $ e- D4 ~+ Q& U2 ?$ c6 f& `
return RGB;
9 u; y& E; z4 X5 c# ~8 |}+ `0 `2 b/ R( H! X) D' c
function keys(evt) 8 U# C( H8 A" R
{
: e" g4 D/ n3 Q5 E/ G if(evt.ctrlKey && evt.keyCode=="81")
, Y# K+ ^4 {1 y# ]" d# ^ {
& N; k2 b6 [2 w, M3 I4 s: b CleanHideObj.on(0,1);
6 {+ q* P- v" t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 O! Q6 ?& W$ H' y( o
* X3 {! d4 l5 A, V8 n1 i! | }
7 P, w6 A6 b3 ` } ' ]4 u. [6 z/ W) q# b7 U& Y4 S
document.addEventListener('keydown', keys, false);
M6 M" H9 b5 R7 g5 ?5 aGM_registerMenuCommand ('Clean Hide',
5 H& r/ P$ z- j' b' Ufunction(e){$ C+ `) y( ^- t, N$ A
CleanHideObj.on(0,1)2 {6 r* j. k2 k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) ]* d/ K1 _/ S
});. d* M$ ]+ y, c+ B& A
|
评分
-
查看全部评分
|