|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) A) V; @2 o/ I
% A& {2 E9 n6 ?8 b火狐插件,用猴子: r% n) @, N% Y4 N# x& R* | J
; T/ M j7 K" w1 C1 u
var debug=false;
) R4 w- F& {" M+ bvar CleanHideObj=new CleanHideClass();
j V) p) F y$ F, r% i& N- g& F7 N- `" `: ]7 S
function CleanHideClass() % j: y" w6 \2 U1 C+ T# R
{ ) c" O. n0 `) `6 D6 D. ]
3 N& N5 ?+ X, B( g, R this.on=function(id,bMZ)% f7 \9 }( v) P9 k _3 Z# f
{0 n& U5 c; P4 T! [
: ^) v/ U* w$ K# N# L if(id == 0)
6 H/ o/ M- L7 k7 T9 z* x {
- F6 \4 s( `1 w* c6 f5 `; U var page=/* document.getElementById("content").contentDocument */document; 2 y* k7 ^- ^6 V$ }8 r
this.RemoveHide(page,"span");
4 I6 Z4 T* P9 X) g- d+ y this.RemoveHide(page,"font");3 n+ E- Y# ?. e' B# \& E w* I
this.RemoveHide(page,"div");" ?4 ]: N K) r, u5 L
this.RemoveHide(page,"p");
* ~) U* P D0 c7 M; \3 J# k
- i" e' c' ]2 `, }/ j4 e! @- ]8 ` }
8 C7 j: N( @9 y. _- i+ f8 {
# Q6 L, L5 z- J/ V# w e }4 p, a& \& Y3 y& {+ W
this.getobjstyle=function(node,prop)
2 [: U4 m: y) T9 h0 Q {& h! Q/ ]3 Z4 @( Q8 D
try
4 D0 T6 z& K2 x/ \0 I6 g3 X t {
4 J6 U, @' g4 N0 f4 T* z3 u return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* C. ]" J) k" x% x( ]
}+ {$ D3 F" n, L8 \- y$ L
catch(e)
; i9 e: ?: l9 Y) R" X0 g8 F {! t0 A) A% d4 a: L
if(debug)
; N# Z& _# ]( b J/ u( j8 n {
4 [1 U7 w C. K: O9 b alert(e.message);1 W9 W; }$ _/ ?+ z
}. n# F- r( R# t7 b, X
K5 h( A( w7 L2 P; M2 Q
return "200";; v8 j8 p. P6 X, m+ K
}/ N3 T$ q4 ]! T
}2 C' Z6 |. t% c9 y
) U* J5 G% ~! Q# [ this.RemoveHide=function(page,objname)8 S8 o0 E, |/ j; h5 `
{
0 x! b* v$ m, e5 W, b9 |' t try
7 T' Q: R6 y/ L {
4 o" t# X$ \, W$ l' e& r' s var minValue=15;1 z+ Q, [( }% X6 ^
var objs=page.getElementsByTagName(objname);
/ L4 B6 b2 N7 D3 k2 x1 _, E
3 x# P' B1 ?% a! F! n if(objs.length == 0) & _" m7 f! l! E/ T( C1 A( \
{
: c3 m' `0 C2 B/ i Y7 t if(debug)+ m4 r K4 l8 M( h2 _, h& W: i
{# Q* ~& u/ E. ], w
alert("no object found!:"+objname);+ t0 o2 N8 l) H) y3 }# ?" C
}
' B( M7 @" s* Y8 g2 L7 z }
. g3 U8 Q0 e2 |, f& \; x# P& m else+ j) s7 Q3 D$ K7 K, Q: C6 P0 A0 q# V, P
{( D: R `5 e0 `% K6 `- G- \& Y# A
9 o- H5 ]. ]# S" [9 {7 N for(var i=objs.length-1;i>=0;i--) 2 b' ?9 }4 u9 q( a
{
5 z9 I6 W2 I$ y4 H var node=objs.item(i);
3 w0 A2 b5 j* X( Y
2 L- S% `4 p+ z* p, e+ l5 N ( e! {7 Y/ j( z1 O7 D0 ^
if(this.getobjstyle(node,"display") == "none" ||
# p7 U$ E- B- \3 E: m" [1 S7 o this.getobjstyle(node,"visibility") =="hidden" ||
# f) [6 w8 l& R% u G0 d" E parseInt(this.getobjstyle(node,"font-size")) == 0) % V9 |# n) ]) @. _. e/ h2 Y
{# ]- E( ^1 a8 q1 Y0 ^9 H
if(debug)
; A/ [ o. H, V% k& H4 { {
# Y4 _3 ?/ c* X5 E# q% v- Q' h alert("remove invisiable!");
, X/ q& z g9 U2 r* R: e }$ F8 w/ V8 Y) _( _# a
node.parentNode.removeChild(node);. J! G6 h' U# y1 B. u" Q: `% H5 U
- F1 [& k0 S" d* x1 ~
}1 u5 X q5 i: t$ L/ j! u
else 4 ~! z: x* ?7 L; |- p/ {, t
{
5 L$ V8 Z* u. f+ V( X if(node.parentNode) m7 {2 W" P- K w+ K) i- F( R
{
8 T! G8 O9 t; U5 Q& D- J* i. z9 a var orgNode=node;3 m% K+ v! m' A; R- _2 L
var orgColor=this.getobjstyle(orgNode,"color")& U0 t3 M% `) t" M2 [. y
var orgRGB=getRGB(orgColor);
1 v) ?/ [2 u6 W6 J, }
6 D% r* ^3 D0 d$ i+ q var parentNode=node.parentNode I- x/ d9 v: X4 T+ N! U- r* M
var parentBgColor=this.getobjstyle(parentNode,"background-color");
m4 s6 o0 A+ F2 n# I7 t; d 9 }& i' l5 O% o0 ~7 h; J
var isLast=false;
2 P7 |' L6 G0 `4 x9 I# [ 5 Q: z' n% ~0 T9 f/ a. Q. R6 m+ H
while(parentBgColor == "transparent")
$ f& g. C8 O( T- Z {
8 H1 w& w$ \' x1 H3 w ! z) S* T N* k- i X+ Q$ P* L' V9 A
* W* g& U( F$ ~8 M6 @# O
if(parentNode.parentNode == null)+ C& Y2 D: U% ? p. G0 M# E
{
1 A Z, d9 Z* a; z; [5 N! a5 r isLast=true;2 G4 N P5 W( B6 e
break;, W: v* Y, ^6 s! ?; r# [7 O
}1 h! _9 n: {# J5 J; z
parentNode=parentNode.parentNode;
( f8 P s9 m5 R1 i$ n1 o' C3 m parentBgColor=this.getobjstyle(parentNode,"background-color");, m; }- K) S" K$ T* T6 K' t
& [" X3 h( `5 @ b5 H; m
if(parentBgColor != "transparent")
' v# F; Q' \6 T6 {3 S {' S3 ^. j5 i$ o! F! i% K( k
break;+ N* I: U( v6 x* k' h8 j
}, `/ D+ { ]5 c& f
}
* u4 D$ o: B9 r; j: [9 H if(isLast)
8 z/ h4 ? g- I4 b u$ o; v {. }0 y; U6 { a6 Q2 l3 R% \0 x" d0 Z
if(debug). }! H/ J* T- Y5 D) R: M
{
: F2 Z! n" f1 B! [2 \ alert("last!!");4 u2 b) x; B/ j& j/ R7 ^
}
6 `& @7 g* F7 D7 J* E: P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ s6 l0 K6 X) v. @
{
9 A& d( ]* e4 e1 M1 [/ V" J orgNode.parentNode.removeChild(orgNode); + K9 l/ y7 S, ?. ?
}* g/ n% K' m2 ]/ i7 U
}
0 l+ x3 s4 [* U. q5 f& ~ else
- |4 R; b7 J( `; x9 I- O7 x$ P {% ]$ I# \ V4 k. T4 Z- @5 p' [
if(debug)7 r% u5 W$ Q+ a n- ]- J
{
P9 Q: p$ n* `3 ]! E2 Y# R& ? alert("compare color and parent bgcolor!");
3 b$ q5 G% B/ K! l8 S }: i6 P6 _! B8 s9 F( {
parentBgRGB=getRGB(parentBgColor);; ]$ h n- G7 R' ~) L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; b2 c- i# H$ p& L {
~. H1 n* n- J9 B/ p orgNode.parentNode.removeChild(orgNode); 9 Z ^# E- E- x0 `- n+ W; `
}
* }) A) G9 i! K, r1 _" n* N }
6 q; h/ M$ U2 P. Y, }5 R; M& Q$ t }
0 Y8 i8 l$ G6 J* W$ k }5 y1 z) k0 B& i4 b7 M+ C
}
5 z( F# v" h m' A" E' N4 M% w } e9 j: @5 H" ^" M/ v' B5 |. x
0 `* L i( { B0 g2 X! W : ]' f/ K- P: {5 A6 C$ b( @ \: o
var itemFrames = page.getElementsByTagName("frame");
/ W" p6 A. r+ E$ F. }$ p. K5 ` var itemiFrames = page.getElementsByTagName("iframe");8 `+ M" v' b% {# l# a
: ]5 M1 E4 i$ n
var frame, iframe;/ I8 d1 _9 u1 T5 s
if (itemFrames.length > 0)4 p% r- q. Q) [5 O5 M1 j$ ?1 U/ p) m$ N7 x
{% J9 y) n r& N# b
for (var i = 0 ; i< itemFrames.length ; i++)
5 U7 ?9 ?* w* H1 j1 `. L4 k {
3 o1 a# h/ \- j! O0 m+ M, T$ p/ P0 V8 [ frame = itemFrames.contentDocument;
# L* M& {) K! l: N2 f }4 X1 S/ J8 u8 c this.RemoveHide(frame,objname);
! @" Y. M2 D# M6 k5 s* z7 \ }
( ]) R( N! y% S# D1 ?2 R! T1 c& B% F }8 U; \2 K- S8 t& |4 [
if (itemiFrames.length > 0)
6 V, ]6 x0 \# X* w4 R {6 l X/ e5 x5 N9 ]! i s4 @) j
for (var i = 0 ; i < itemiFrames.length ; i++) ' b5 t2 E. u8 ?2 P
{! }" a _& w/ c$ k* T
iframe = itemiFrames.contentDocument;3 [, C0 c4 H+ e/ L v: D
this.RemoveHide(iframe,objname); ( z) L- C( [! j1 Q7 c: k
}
5 {$ x4 `. O3 l* r2 y2 X4 x$ l% G- K3 N }
' U0 z7 I. _, G }
5 E+ e( F8 I2 l catch(e)" _. d! U# L, Z0 h( d
{
7 L7 s" C3 E2 S! c5 s7 ~% H1 K, q if(debug)
' s6 k3 W6 s. _& j( U {# |# l) N# V5 p1 ^* @' Y
alert(e.message);
: ~8 c; u4 p+ k n }
+ D3 O2 `3 J' @8 p- Q1 l5 `3 H }
' w1 x) b; f' P3 f7 E! q3 d }# R9 G: z( k, M2 N
1 M& ?, p( ^0 |7 q# \( v% Y
}
4 e" u _ X6 G- B5 C+ V$ }* c- M* j. u4 n2 B( N3 |9 C9 j' i
function getRGB(colorString)
! s7 S0 f- ^( f8 i' U6 j$ T{
& q: E7 v( U2 P r var RGB = new Array;
2 F, j t, O2 h. n* Q( p% C var tempSting=colorString.substring(4,colorString.length-1);
{/ N2 G$ Y+ Q: I. M' P" R var tempArray=tempSting.split(",");
+ K1 f1 b; b4 M: N( L* p9 Q9 d- t/ q: f4 ?9 w, u
RGB[0]=parseInt(tempArray[0]);8 E1 ]4 i) a, b% C" u
RGB[1]=parseInt(tempArray[1]);- v7 N# h$ l8 ~! m
RGB[2]=parseInt(tempArray[2]);2 Y% A d) f0 c% u1 d
5 i1 \" r% b5 {9 C/ R+ v. o) k' S return RGB;
. I: @* O0 b! n7 }3 N Z}% d% J- z0 c, {7 s3 h6 L* A
function keys(evt)
^ s7 i6 z* V {
9 l u: T$ f" M' v. K* I if(evt.ctrlKey && evt.keyCode=="81") 1 a8 m: T0 s4 G, F8 g! c
{ 5 `. d" Q1 c* E5 C6 m- f
CleanHideObj.on(0,1);# T0 ~, ^/ ~% L8 @9 C1 G4 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 B& j: X5 W/ H. q5 y: j/ ^ C, {
; ^9 n( J7 _3 M% `# C3 x* X
}
; n# R# m. z" @5 r% h: \6 ~ } % o8 A/ G- J1 j) W7 V" x
document.addEventListener('keydown', keys, false);
' m' I) N( ]) f. J4 T( c3 oGM_registerMenuCommand ('Clean Hide',
5 _2 U0 w2 w$ Q q: {/ Ofunction(e){
5 S( m# g5 `5 E* P0 c. jCleanHideObj.on(0,1)- S/ b) z5 J5 U7 j2 c. J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. i( M% R/ S% @
});
& w' }0 H+ n, l0 [ |
评分
-
查看全部评分
|