|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& ?$ |8 |; L7 K$ k* u2 t7 u
* e0 V0 }. h! X+ ~: z5 x火狐插件,用猴子
# f% \3 N% [: @) h* v3 q' i6 |4 l
2 X3 ~1 Z4 L# s7 O7 ^- wvar debug=false; 8 e$ |2 [: o( t0 d8 H$ M) L2 `
var CleanHideObj=new CleanHideClass();+ g( \) a" z8 `& D
5 q# f0 K X H" N' y/ d! @8 f
function CleanHideClass() ' K1 x l! `1 Z8 x& P
{ y3 v- X1 e0 Z+ J+ i8 s( p
" r" o5 v6 x6 A0 A. \
this.on=function(id,bMZ)' n8 y6 a) ^* J; h+ a+ ^
{0 n) C% M; A$ b) o" ^. ]! i' F
; Q% ]% ?, L, p" J if(id == 0)
G( n8 H- G6 G) r2 L7 p" A {, X# h: e9 i: r$ R* G4 `
var page=/* document.getElementById("content").contentDocument */document;
& c2 h2 y* m7 p- { this.RemoveHide(page,"span");
~% V2 V8 P, Z6 J3 H. [$ Y( G5 T this.RemoveHide(page,"font");
2 g& T& P# R( l8 \' q; M0 d# E this.RemoveHide(page,"div");% Z+ p% c! u# z+ w9 |; _1 \& I' N
this.RemoveHide(page,"p");
, A% v5 z+ d/ l, j2 K* M: b% M
* D% v+ y) K, y) J& p/ U }
+ o3 h5 G c* \ \. \
( U: }! k( v5 s6 p3 E1 V' m }
( L9 m7 |4 u; q4 e! R this.getobjstyle=function(node,prop)* S# R1 B# W: j0 E/ z& `
{6 V, l5 K7 e9 g3 r+ b$ i
try: [. i" q; [: |+ j
{8 v& @- h6 R) [4 _4 `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, ?& i! ]8 B% S7 x
}/ B# _" z( R0 P. {: P( P4 [% {
catch(e)
1 A4 ]3 e8 c: f* i w. c {! b& X5 a0 l* W' v1 ~/ d: a
if(debug)0 w2 K) q7 {* _9 w' W
{5 \8 Q# B& E; T$ k4 m3 p* U# d% S
alert(e.message);
/ y# L/ ?7 t* y7 o }, ]! x* H0 a! t4 X! x9 Y; W$ U
( g6 A& D* p+ g- v6 J- C; A+ L0 Y return "200";
3 w8 b3 S- z( G( O% E% B }
& |+ B' R1 J1 s* I; Q }% U: ]" E7 ?; j* W) z
: N% `. x8 o) _9 j: T% ?
this.RemoveHide=function(page,objname)
8 y+ u9 a( o3 ^: l" i$ g: N {
! ?( [: B0 o$ d6 s ]* P8 U. z try2 b0 I# Y; h1 I1 b+ G3 h* d+ h' n
{3 R6 V" X$ N& n2 P
var minValue=15;7 t" X! o& z$ m
var objs=page.getElementsByTagName(objname);
) Y6 w1 q0 @3 N- Q7 Z
, E e9 e" E* T3 P% w7 O& d if(objs.length == 0)
- P( T# D( E) a; K I {
3 A# D* c Q9 f& U* O: e; V1 T if(debug)9 ~, b( ?7 E4 B+ O( R, ]- |% J) O, [
{
7 y- O* w8 n* x8 Y6 r0 W1 V$ R alert("no object found!:"+objname);
* v. m, `# X$ z( m! m! p# Q }
" v) ^" I) K" A B: _) K2 \ }
( ?6 [. ~' K/ C else% J, `+ v9 }# f, N7 K" @
{& e3 n" Y$ j% o- `
- ?1 R# ?6 W6 B" C
for(var i=objs.length-1;i>=0;i--)
& I, @ f9 g* `$ e {) I# @$ M6 L* F" \2 q3 {" ^
var node=objs.item(i); 2 ~6 \: T, i) H( \% U
0 o, V, H2 z4 }" u
7 W2 Y) q' n" i+ n( W1 J) m1 j" q if(this.getobjstyle(node,"display") == "none" ||- n; x, N- c, a$ x& b- o
this.getobjstyle(node,"visibility") =="hidden" ||
1 D- Y: `* @, P2 V+ U& L parseInt(this.getobjstyle(node,"font-size")) == 0) : M6 i- C" Y# G2 U1 E
{
$ t4 l6 y i7 P& T3 t0 Z if(debug)2 _1 T7 ~( W- `) K; \5 y; A
{
+ Z+ V9 c! s1 ? alert("remove invisiable!");
9 H/ z W4 v8 T: } }" z; Z n5 v+ S3 d# A0 q
node.parentNode.removeChild(node);
; w- A0 m. ]7 b9 W . Y# Q5 Q! a5 T- }# J
}
" m2 N W! m8 W3 m else ' H- {1 r# H j1 m% ^+ W
{. }. j& ?# Q. G) y! s& ?
if(node.parentNode)
" ~7 [0 m- T# _5 F* R$ c {# t6 ]9 h- H! ~' x% _
var orgNode=node;
2 e! s5 S4 y1 N2 n- @ var orgColor=this.getobjstyle(orgNode,"color")5 C3 C$ p& W a: \: E
var orgRGB=getRGB(orgColor); . O d7 N6 \1 q& \4 t }' h4 Y
, z, b0 S0 J- ~, p, t+ c
var parentNode=node.parentNode
0 s& ^; I1 [% k4 _7 K6 R var parentBgColor=this.getobjstyle(parentNode,"background-color");
. `) u4 N( ?8 I3 K/ m! K
! z4 o0 R. Q+ I# D+ ~ var isLast=false;0 [, k# @" j6 I# y; |
/ K. b: S3 d( J) n* |8 F
while(parentBgColor == "transparent")
$ x( s/ @ ~- T {
6 q6 F, P$ ^2 r+ j
* g0 A6 T4 Q* E) X9 e
8 g, T$ p; ~* ~0 h+ ^ if(parentNode.parentNode == null)- n5 l/ H0 C% ~0 C) v; L4 Z
{
( T& _3 |* s# b; _ isLast=true;: P+ {# p% z6 F/ ^4 Q! W
break;
/ f7 {' n* C, J$ M }: `$ d1 F+ p" e) s
parentNode=parentNode.parentNode;
1 \8 }+ e) u' T+ M% k) a6 _$ } parentBgColor=this.getobjstyle(parentNode,"background-color");% x" X3 x8 b ]/ F( S9 K
a) G5 W5 J6 k- y; Q p3 q
if(parentBgColor != "transparent")
1 u+ l$ O% S. `7 t {
0 X6 A+ a, {0 k3 \) f) z# t break;
3 U) Y, E% `% n. G% z/ @( v% A }
# |" |/ T9 D& ]( F }
: h4 U" d$ p- Y if(isLast)
4 c- t3 w5 V, o7 a! A# g6 V {- v$ X1 w' x5 |
if(debug)
3 W+ ]3 B* _" \4 l5 i3 d% ` {8 i) G$ h& n3 n/ I$ f
alert("last!!");. r; ~+ t4 @2 C2 [6 P$ G0 y# j I2 p
}
6 ~3 ^) @" m" y' y; G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 I% \2 G; r$ w4 O# F
{
1 ], \; c! w0 B! @" e; O0 ^& Y, ?& H orgNode.parentNode.removeChild(orgNode); , {) Z2 T, D/ [8 E- s5 n# ?" y
}$ `& t! ]$ z# D7 ~# M
}) V$ w/ R% V+ S
else) p- ]% y' P( G- R9 r5 S
{
S2 |' A& P+ P8 q9 X) Z if(debug)
2 p" X6 A4 p* x+ E! z t0 w/ j {
7 ?& g, Q4 [! U- a+ [0 X alert("compare color and parent bgcolor!");$ B9 } z6 J% v9 m* b2 Z
}8 N7 E5 s5 P* j# f3 i( g
parentBgRGB=getRGB(parentBgColor);6 g9 a( @& Z+ ^ D, G( E- {: ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ V$ _! N: l* v {: C' u# N3 h- y9 r9 g
orgNode.parentNode.removeChild(orgNode);
- `1 C& g4 F5 l6 Z& n) V }
/ a9 P5 m* g3 ?3 _4 k5 z, q }, Y! R% t0 l7 h' `7 S
}6 V6 N/ I; [9 Z3 O0 |: \
}
8 Y* A3 @" w) t) p! h" i5 H }; \! W3 a% G* d& v' V' X# }! m" P q
}
5 v3 C+ l- I, p( r& s( { $ r. p) [. r/ P' N% i
+ {1 U8 i6 ]# A
var itemFrames = page.getElementsByTagName("frame");' H& N& d& [+ t; }' t6 v
var itemiFrames = page.getElementsByTagName("iframe");
A/ {% h( }$ c3 N
4 m; r4 j; f% M) b: ~$ ~% Y var frame, iframe;! B0 _ l6 E& R9 i3 X/ ]
if (itemFrames.length > 0)
* J$ Y3 ^; i+ \- N6 G5 U: N. u {; q2 Z# G: j# [# s6 H. Y
for (var i = 0 ; i< itemFrames.length ; i++)
# Y y& L' T& K! A4 E! L3 H/ Y# Y+ } {, Z' p! Q p5 g* H" i
frame = itemFrames.contentDocument;. e: M$ m8 y' z# X! t
this.RemoveHide(frame,objname); $ A. l' z/ u4 ]/ [7 |
}
2 x! M" |4 L/ L }
) z+ Z; z$ o* L# z8 q V if (itemiFrames.length > 0)
: d, C" b! U3 N, D/ S {
; [, l% F! \& E for (var i = 0 ; i < itemiFrames.length ; i++)
3 j* i/ a, G+ o$ q* E {
+ S3 O: j- r, Z+ p7 x# H iframe = itemiFrames.contentDocument;
z4 ?3 Y0 N& ?! r this.RemoveHide(iframe,objname);
7 P! d, N8 ]% ~+ `6 x% z/ J5 U! w }2 x! K! E j* t3 w
}
6 a; t- a- [+ T* g }/ `/ W1 e/ ~$ ?. n2 a. U
catch(e); I, N& H0 H1 A- t8 P& U [- I
{% `/ {6 E& a' K3 b
if(debug)' `% S5 H' j5 d+ d9 F# `
{6 h- z4 x! q, r8 K
alert(e.message);9 }' a0 G5 I; y
}
# |( ~" C. m* g& n- z/ D! R! n }* k8 Q6 N3 y$ D- g
}. E" E6 ]0 k+ n' o; h( }. e# n' z
) o2 w2 n5 C, k) m+ H
}1 F. K% d3 b* Y2 H4 B
! W' e0 m+ ~( vfunction getRGB(colorString), H2 s5 J8 M4 u* E* x2 D+ z5 R2 i
{* V; p/ Z* y. h9 k1 `9 I8 A
var RGB = new Array;) }: l5 y6 E5 M, p* p/ k
var tempSting=colorString.substring(4,colorString.length-1);
8 V8 R+ s. m0 C& D# \ var tempArray=tempSting.split(",");
; F0 v3 ]# |" o, @9 z3 h7 d0 ^4 q u8 V* V6 }7 k0 q
RGB[0]=parseInt(tempArray[0]);
3 e+ P' i8 n$ m/ L" f RGB[1]=parseInt(tempArray[1]);0 i$ V. }/ N! b" O
RGB[2]=parseInt(tempArray[2]);/ v' I4 w8 C/ y; h: a
4 h6 O# G8 ?6 |0 f return RGB;
$ t3 A$ g. h( _}! H- [2 T( ^* j: }- c! S
function keys(evt)
# P4 d& E$ F0 U2 s { 0 e e" k$ l/ q6 _& A' T- A
if(evt.ctrlKey && evt.keyCode=="81")
- i; i- ^. i8 q( x) |. J4 z: ^ {
5 i( B3 q& C3 ` CleanHideObj.on(0,1);
$ |4 R8 e1 v1 k7 a6 J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
b0 z: T- s c$ K+ L% m + i3 r" `2 \" s) I$ _. e: N" j
}
) W4 Q/ c2 N4 a1 {" {# p" B }
, ]! U. O* k' O5 f# X& P4 \: j. idocument.addEventListener('keydown', keys, false);
: ]: ]# n3 M" VGM_registerMenuCommand ('Clean Hide',
$ w3 D9 d' t2 W; N4 N6 afunction(e){; Q7 J* N9 {- v1 }+ c7 Q0 v1 Y& |
CleanHideObj.on(0,1)# e- t7 h4 n+ I3 d _4 D0 s T( K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 O' Q4 v$ C0 O f a});! f1 C% W; T0 C8 @. `+ D, z
|
评分
-
查看全部评分
|