|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 k) g( H5 J+ h. ]$ _% L
- [' T, r5 p1 ^; w }( [$ V% r7 O
火狐插件,用猴子
6 k1 l$ R0 c- L; I( v }2 L9 c
0 ~. ^! Y' Y5 k! q5 V! Q' Dvar debug=false; ( {$ _0 i: f* T3 _* s
var CleanHideObj=new CleanHideClass();
2 h4 L Y8 X. u7 K: D
+ R- i; ~6 p7 S9 \: A# F2 I* ^$ ofunction CleanHideClass()
9 h( A. Q# {3 I* }. S6 k{ 2 u' W3 s. m7 r3 M/ X' e
2 A2 o5 M4 N& \( ^4 q$ z, \* m this.on=function(id,bMZ)7 G t' S- J- J9 d
{
l( P/ j( q: j( z
5 |& ?( R9 w! T+ ? if(id == 0)8 E- e( [: G$ A7 q6 U- X, L
{
- }" y9 s* _9 h var page=/* document.getElementById("content").contentDocument */document;
: e+ M4 i$ r4 @: |/ U% T3 p this.RemoveHide(page,"span");
) _* g( q* b1 k6 T; @) Y! o this.RemoveHide(page,"font");0 F# b/ c# v8 p8 ?+ R; h/ G
this.RemoveHide(page,"div");
7 D+ \( N. b$ h! R$ H3 N/ ^% N4 @- S this.RemoveHide(page,"p");
" S0 `& Y* u) O0 Q- X 7 O' ]3 J: |& c; o
}2 n3 G1 g4 R& \
2 U: b8 Y9 T. C4 b& |/ Z4 b( X# ^8 P. g
}
" t5 F( I: T) ^1 t% p/ x this.getobjstyle=function(node,prop)
2 J6 o$ E, U( B& D {; C* j4 K+ v+ W6 a+ M5 n' P7 ~
try/ ^& |$ v" V+ f
{+ G! b* j! E7 P# O5 F* Q7 v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" O6 k( J. C4 n' j2 I }
9 L, d1 l, ~& k( ?$ ]( I) J catch(e)- s' ~ R$ E- H, H6 ~0 J9 v; G/ O
{
$ B# q# Q# ?, B7 l# W if(debug)) k5 T* O' F8 t9 z5 d9 `7 L) M0 n
{
' `! `) z/ d5 b0 X6 \ alert(e.message);
7 h3 x; c& ~6 F3 C+ ? P' E1 { }
. W2 M2 v+ k) `/ W& y
3 O) v) ]8 h0 T1 M, L return "200";. A# W0 o8 G& Z7 ?
}) ^! b6 B- D" i
}
& f4 O" I+ E8 O W+ C 7 B/ \0 P# X, J
this.RemoveHide=function(page,objname)
1 I- w6 y3 g& t {0 }8 R# G* `$ P
try
9 g# `' D; O# b- ^ {& Q) m9 O- }# l6 P) @# m
var minValue=15;/ H) o5 n. \+ I
var objs=page.getElementsByTagName(objname); , `: B4 X+ \6 h8 y5 U; z: K
* L. G9 L3 a8 Z( U3 h) z% Y
if(objs.length == 0)
K ~4 E9 J0 \$ @+ ]1 _4 W {
( T& i4 b) s2 z! @) F* J8 a4 O if(debug)( @/ l- t3 y" ^0 B* p
{
1 G' U# E) A5 }. K alert("no object found!:"+objname);
! p. a( E# c' }- S3 u N4 D4 r- C }
, V7 T& _% N- F* _ }
% A- V6 G6 f8 x else. Y' G, I/ ~! i( i
{; N0 K2 @. R% c
+ K% X4 }7 J( n8 ?5 T
for(var i=objs.length-1;i>=0;i--)
$ Z7 k/ o0 a3 j5 B {
" G! d- `/ _+ m( G% F2 ]6 i var node=objs.item(i);
* } c/ H; {! |& @) b' [
% ]5 c. X" N/ l ~
' U3 ^4 S1 r# D" I3 m7 l- z# L: k) Q if(this.getobjstyle(node,"display") == "none" ||( j i. @3 w& w2 ^- r* L
this.getobjstyle(node,"visibility") =="hidden" ||9 i. ^* U" `# d" k
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 ?8 T6 C r1 |4 D {
( k2 M0 B1 [1 T& I2 w# A; j if(debug)5 W: C* J) J0 {% U9 V9 ~& T5 |0 i
{
/ m, [. d- Q" ?. N( K$ p; t alert("remove invisiable!");
; d: c7 r3 o0 w# e" R t! i( P }
9 z$ j( {. A5 a6 O, i K node.parentNode.removeChild(node);( h4 ], \, z3 @2 A
! E4 Z3 r/ ?/ D: `$ v
}
( W+ f5 ~( |* t4 B$ E' N2 D else & L2 V; N$ f3 E2 W
{1 o: v6 K9 f5 F# C' @9 S8 b6 M: _
if(node.parentNode)
0 |8 x: \) K( K) D/ C7 C {+ G$ }( H$ v( t9 {- g& p* n
var orgNode=node;
! X; U3 u$ o( G* b Z4 n var orgColor=this.getobjstyle(orgNode,"color")+ r% m3 A$ n; ~9 z0 r' A+ H
var orgRGB=getRGB(orgColor); % k* n6 \3 T! i, k
H# L; R8 p( n& J2 j+ K var parentNode=node.parentNode% N- Q( ?2 S: {) b) j
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 i, Z+ Y( H7 F/ B- A# @
: U9 C, V2 U3 S, G5 p) @7 ] var isLast=false;) {2 A: M; R+ W; t9 f/ F" k1 R
) Z/ O6 G' X3 _( [& f
while(parentBgColor == "transparent") + t" Q# N9 \+ m8 Y7 w( {3 I2 j5 l
{
& Q. |2 b7 I) z5 i; {" K$ ] 8 K4 X* O$ m$ t% `& W
) U7 B) l9 ]3 p6 |9 M if(parentNode.parentNode == null)1 g- ]9 o/ G4 U; E' [
{9 C. g! @4 _' \. A8 `7 S9 v
isLast=true;4 P3 m4 v3 R0 M, W& t# Q8 E
break;
1 y; E4 H" v! h9 b. u- v& e( b }
4 ^2 \! L9 M; i0 w6 }9 T# c% ] parentNode=parentNode.parentNode;" U- h) [* D9 e2 Z# K! f! ~ A
parentBgColor=this.getobjstyle(parentNode,"background-color");
! y; f3 t/ |% K+ ^$ H' E- n( T O$ M$ R( s1 f+ N8 x: p2 L
if(parentBgColor != "transparent")
9 y! N+ T" ?: k; Y$ s {
4 t) e# \$ z, W9 Q# k break;
6 [& p& a+ N2 V* F, ? }
# K( P7 t8 F0 [ _4 }7 X }
1 @0 h" a2 J" N! ^) h+ @ if(isLast)
: G# i! `; [. m! A {
/ q5 [3 E A' o if(debug)8 Z1 o, k' I7 R
{
3 Z% { l9 s# _* u alert("last!!");
2 \! M) s2 s" A6 o7 x }& k6 P3 y3 p+ z7 B& f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ D( c) }3 q2 ?" U( U- ?0 c3 h
{
8 l8 w& i1 v q. m2 S; {3 _ orgNode.parentNode.removeChild(orgNode); / y) i2 r9 v' a$ ?8 c& w5 o
}% ~* J" m$ {6 i6 m& V1 k
}% h/ E+ z" p' ]3 L# T# S
else
2 P5 ]* b2 X) z7 E) P: k& f2 _# Y {
/ j+ |" _! g. i8 R+ I if(debug)2 l# t5 U1 O1 H. j3 f1 c2 B
{( a& y1 A8 r: C( W7 ]4 G. [- }7 H
alert("compare color and parent bgcolor!");" t& h9 y s# P5 _
}
9 g& c" D+ M: g9 Z& q8 j0 H4 e parentBgRGB=getRGB(parentBgColor); ]8 g0 a) Y, L+ a4 Z/ E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 u% G1 q j! b' d# [
{6 {; c* P# ?. V( l% F3 Q1 Z9 ~
orgNode.parentNode.removeChild(orgNode); y1 V0 F6 F2 N4 v8 f8 L: {
}" Y8 l& D0 T" B0 o) R1 B3 N3 H
}
+ w6 `8 y6 q. x l }0 [ o/ M/ u9 m f2 [2 e; u
}& k( M) d: f8 P/ r" `, f0 G+ E
}
! v- i- e! x1 N: l }
, @+ J9 w# M4 A( N; k T - U2 X( O5 X& S" M, |, _, l
: E1 N( J) T" P3 l( l0 n2 C var itemFrames = page.getElementsByTagName("frame");: M7 V; r5 c' V7 L5 O
var itemiFrames = page.getElementsByTagName("iframe");. l/ Z) K, L% g
7 |' A, C; ~! M9 {/ K& r+ E$ t
var frame, iframe;/ p, t0 d0 k% y; {# y4 k
if (itemFrames.length > 0)
M8 K. C# ?" w) s- [ {' M, u% v5 G+ |
for (var i = 0 ; i< itemFrames.length ; i++) - D$ m) t* b W9 U: M
{$ o. t: W+ P( W% N6 {
frame = itemFrames.contentDocument;6 \/ } Z- i9 F" V" J
this.RemoveHide(frame,objname);
8 n& ^1 f6 M* t" H$ E5 e# O/ A/ j }
% _! x, X: {5 Y$ F2 f9 P+ q }) _& G# m6 `# {" }* ] M
if (itemiFrames.length > 0)
5 i+ f7 f, U( E, Y, e {
8 d0 b( i* S) z3 ]- Y7 ` for (var i = 0 ; i < itemiFrames.length ; i++)
" Z* l% b {+ f& ~- V4 j A( C {
; N! x* r4 ^1 }% _4 V/ b7 b iframe = itemiFrames.contentDocument;- f+ V) z- D4 f2 L, x
this.RemoveHide(iframe,objname); 4 c+ O/ i( c- V3 A% a3 r) [2 ]
}
+ ?& J- \5 s5 ` }8 }. w; ?5 m/ ]9 y( Q& T, ^; z# X9 |% g( V
}9 j2 l0 _0 {" Q$ W# Z! R6 Y
catch(e)
* d K) j- G1 n1 V' d9 @6 U8 K/ u {' q( V* R! B! i, _& w& f; c, Q( W
if(debug)# y7 Z1 {5 @1 ]
{+ g$ @' Z" g. K4 N7 L( G& K9 p
alert(e.message);
6 C V- I" r' |, D! l( A }
- E: s5 k; G% c9 ~# n1 d8 q }/ A6 ^+ B% o( Z& Q% V
}
2 C2 h2 |' ]: ~# ]& L * w, g% l- X! a
}
5 M7 ^4 k# u3 h; f% `% o3 Y1 j# |* B% w6 F- A
function getRGB(colorString)
) T( t0 R0 M1 ]4 n, A" M8 s{2 A5 g: Q! k E4 w0 s
var RGB = new Array;
# @/ B/ Z7 }3 \8 `' E var tempSting=colorString.substring(4,colorString.length-1);
9 U) \7 t+ Z e1 ^/ l% J/ o var tempArray=tempSting.split(",");9 p5 q: }* _1 i; c
& v: F I: C+ X" L4 b2 L) a RGB[0]=parseInt(tempArray[0]);0 C' e; J$ K( B; s2 X+ m; l
RGB[1]=parseInt(tempArray[1]);
9 R* F- X( _3 L RGB[2]=parseInt(tempArray[2]);) g+ O8 f: {; S% V: H) `# W2 Z8 k
5 u! D; L. m$ o return RGB;% d* a% [3 o M( a4 X
} m( Q3 s* `+ f5 M) E" a
function keys(evt) 2 b& {5 E( g4 b
{
3 Q; A5 }0 I% P! k/ v if(evt.ctrlKey && evt.keyCode=="81") ! {9 a8 u* P: R" C
{
Q4 Y% ~0 u; N' s) E0 \7 O; c CleanHideObj.on(0,1);
7 Z* E% Y1 f$ w% } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + [/ L! B/ S3 v1 \1 @/ o
9 J S+ K# |6 u* h8 J
} 1 x7 k# x7 G* E% G) p! V$ p& x( q9 x+ i
} , Z( ` \& \. d( \) r
document.addEventListener('keydown', keys, false);
9 C" `! ~, c9 F( l; v% zGM_registerMenuCommand ('Clean Hide',. f4 p' i( b- h# y8 `
function(e){7 |2 m, V R8 Z( @1 l3 X$ r6 C; K
CleanHideObj.on(0,1)
0 ~. \9 u0 _) q' e$ Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 G% F2 l8 Q$ o* O' ]0 P});2 u s& r# u! I: C# a; v/ S0 u
|
评分
-
查看全部评分
|