|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 R) O# G! W0 X7 X$ T( {7 v: {6 I! P% u
火狐插件,用猴子; p( q7 }3 ], h) u' h& o; l
: }0 Z$ f* d7 Yvar debug=false;
; L8 A8 `, K) K) Q# Svar CleanHideObj=new CleanHideClass();
# V7 R- a' R8 D9 E: t* N1 V/ H+ ?+ g4 m+ O: i& Q5 F
function CleanHideClass() ! i, v* H) r% c2 B; t
{ , ] X* f& F4 a+ u6 Q8 y! ` g
4 G0 I* N' a' V( q- i
this.on=function(id,bMZ)! f% d. P( ^' H5 Q; I
{
a3 W- i) ^# _0 Y% N# Z Y1 c 4 A# Y2 v' P1 h
if(id == 0)
( n- `" P$ y: G! e4 g {' b# L+ i% l( Z4 m; P3 A$ `5 ]
var page=/* document.getElementById("content").contentDocument */document;
8 k+ R- m( R. L this.RemoveHide(page,"span");
6 X/ [0 G! _8 r8 H2 M9 F! e# g this.RemoveHide(page,"font");
! ?3 @# \; Q4 G2 @" a this.RemoveHide(page,"div");! _2 k: T- ~( Z9 q2 N
this.RemoveHide(page,"p");0 N1 A( `: v9 E9 s) f) I! K
" W, W( P% ?# G) Z) K! L6 p( Q }
& o( j1 W, B' h7 p9 j; u I 4 [0 y9 S% r4 _: s
}
* j2 h& k, b" D: D) H2 Y this.getobjstyle=function(node,prop)/ L6 ]8 ~- U) W( o- x$ J
{
! m: `0 q/ E, i! ~2 t2 E3 B try. B+ R6 `' s! z4 D3 b9 P
{
+ u& s _/ e' l1 v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 X2 o: F* J3 d, U6 O' h( a3 R }
6 r" N- d7 k) p7 Z; ^: z catch(e); |3 b+ Z. G/ D, ]3 O" N, r3 p
{5 K0 i5 v2 Z1 u2 o8 _ [
if(debug)
' H5 o+ M7 {5 R3 X {
) G; l5 T2 E- i3 x- _: C alert(e.message);9 e, f( q6 g* u. c) k
}
. h1 B- X8 F8 @+ I2 D7 }' P G8 H5 F4 C5 N: s. Z7 L
return "200";
- `0 b% Z: M. @) V: y" ? }
6 n& g6 n2 u4 o! ]7 ^* D9 w/ i f# ?/ b }4 I$ m. }% @$ y' T; g" t2 F
& ]" ^, J& A0 ~* K this.RemoveHide=function(page,objname)
$ \! z7 Q( c! K' z7 { {
+ f: P' I& W* R) i: @+ B. f- Y5 \ try
U) K2 ~3 S" M3 a, g {. U1 u$ T O/ g. x5 `
var minValue=15;
/ S9 R- B/ C6 ~" G; V var objs=page.getElementsByTagName(objname);
- [1 g$ c4 ^/ @+ J2 R" X& V
* j$ a8 G2 D* M* I1 p" Y if(objs.length == 0) - x+ E3 L) k. m# S O8 N
{
B( C& [' w7 i3 H* Z if(debug)
2 m7 \- o) Q. g# G" v' Q {
* c; G1 F" f; }* h alert("no object found!:"+objname);. T5 W% l, a0 G0 a3 A' ^
}
$ w0 @1 i$ D3 s( K }* x/ q7 T5 r& T: Y7 r, m
else
( e8 R2 V8 u9 q {
: e5 M4 G% ^" z; g. V% c! o
; l! I/ n, ^+ c0 k0 r* \8 a: y/ |1 @ for(var i=objs.length-1;i>=0;i--)
; Z% Q, F7 @6 ~. F# t/ D' {7 m {$ P! S) [$ m; v E g6 r
var node=objs.item(i); 5 k: r9 \$ O2 e" B
3 K- `6 [; f* k; [' @& v
y: a4 h. b" b if(this.getobjstyle(node,"display") == "none" ||
. O$ V% c+ q" f" |( E this.getobjstyle(node,"visibility") =="hidden" ||
/ M0 \1 y0 @5 o5 {" ?! A( I- A; } parseInt(this.getobjstyle(node,"font-size")) == 0) 9 X7 x) i2 C( F8 S
{1 }( x4 O( L. }" ]
if(debug)
$ H( U, W$ |; A, d. w7 k( w1 k {. J" }* R& k' M6 j- U6 C! N
alert("remove invisiable!");
2 W$ d) `3 u# B }
& V+ F z0 E9 S! X: h. b9 E( [3 O node.parentNode.removeChild(node);5 O4 D2 w. D; G/ w4 @+ E$ ~
& q8 G4 Q7 ` @" Y. Z( Q2 _
}
, a6 |( R) X* k else 8 @6 R7 u8 X% {0 I
{
" z; ?% A" k% J' e* B& s if(node.parentNode)
) f7 F0 V( l5 j5 D G% f! A {5 h. s$ H) k7 k6 B* {3 t
var orgNode=node;5 T* M& e/ p) I. ?3 t
var orgColor=this.getobjstyle(orgNode,"color")0 e4 R, U) Y4 g% t3 J2 O' T9 m! k
var orgRGB=getRGB(orgColor); ( O( s# x1 Z8 J$ `5 t9 K: W
% `5 F% v- C5 c
var parentNode=node.parentNode
0 M8 } ?" v( A. x, Y) ] var parentBgColor=this.getobjstyle(parentNode,"background-color");% b4 q' N! ~3 F6 J; J- s0 R- [" l9 ~
- S9 e+ Z: Y$ n, [0 K( z# u var isLast=false;7 Z- j8 w2 i' {' S* O
8 f! d$ |* e1 U, X" j* H @
while(parentBgColor == "transparent") 4 j& f! N. H) ?; d4 u( t
{
7 L9 {9 Z l) [. e
. \0 H1 m' W9 ^) l% A ! r% O0 }/ K9 v* c
if(parentNode.parentNode == null)3 Y' L5 H- k' \: u9 F6 Y
{8 d# ]: V3 s( A; n- _9 A c
isLast=true;
" Y+ c( o$ y3 W5 ] break;
) A0 r" Q: v- I }
& F7 h0 N' Q! T {3 Q parentNode=parentNode.parentNode;
% a. T" Q/ y9 a2 P# J# @" t3 G parentBgColor=this.getobjstyle(parentNode,"background-color");/ Z! O7 B2 q# ?. A8 F0 Q
* s7 p9 f# l$ W4 q. ~ J
if(parentBgColor != "transparent")
1 n2 z1 }3 ^6 r" h( l {
& f1 Z: i! [8 I- L break;
3 l+ _1 T5 \) i7 v4 F }$ K) i# Y1 ^5 a/ e2 o l
}
: n- L+ X' P, w$ Y% X if(isLast)
& b0 S* v, F4 B6 X {
- o. c+ H5 ^. ^4 [: E2 n if(debug)
1 { a, O# a9 R; U7 W. W, W {9 i `" a# q/ {
alert("last!!");
3 f1 E# {6 i$ {. R }
+ y/ |6 r O- Y( X' F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ l; {# }+ c( `$ \5 q {5 X& z; X" L" z# Z' c1 @4 y
orgNode.parentNode.removeChild(orgNode);
9 [( ?, ?2 C. D; y$ ?6 J }" w1 Z9 v" x# f, L" T8 `! m4 J* t
}
! ?, i9 L0 C' @2 x: R4 e! N else$ T" X6 p+ b+ C. w) N" k+ ?
{) `) S3 T; j* N
if(debug)$ I" M; D' f& v" c: v+ x) J
{
) I0 F6 c, F' \% C. ~4 V alert("compare color and parent bgcolor!");
% T$ r; X3 G9 a) f$ `- B }
1 U) w& m B/ X; N parentBgRGB=getRGB(parentBgColor);+ G* n3 o ?2 P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" g* M) j! r0 a! U1 Z/ `, U* i {) s$ f7 C1 E4 e$ [7 |
orgNode.parentNode.removeChild(orgNode); ; ^/ s+ V) K$ L
}/ ?7 N; q _8 `' t; b, H
}9 `- p9 t* H9 y; ]# G$ r0 k5 s
}. ?- p, j$ S* n7 g$ \# l
}
' a8 @$ {4 Z6 A: m, ~ }
$ L- D6 I I! i9 ~; [' ~ }# U- \% |1 d5 ~0 n
# ~6 M, O4 a7 b( O1 M. F* h
2 K# \" L) w8 q/ U$ }' C, j var itemFrames = page.getElementsByTagName("frame");
% L2 k, O O# F2 D) R9 _$ q var itemiFrames = page.getElementsByTagName("iframe");
. g+ u3 Z1 Y i; {% O" ]* e9 N
" \! {% }, J4 C- w# o# B/ s var frame, iframe;
, @5 S+ F4 J8 y# \* l1 ?. v if (itemFrames.length > 0)
+ { E0 Y; i- a1 \' a {6 `4 L& H9 h5 B$ G0 T! K! W
for (var i = 0 ; i< itemFrames.length ; i++)
0 t3 D% E u4 T, v W& z' F {
0 n- T9 R% f- ]; o9 G6 P4 q4 K$ \ frame = itemFrames.contentDocument;
2 u+ @) O6 @ I! I3 r0 U* t this.RemoveHide(frame,objname); 5 U5 c7 E/ i, @! |: [1 `8 t
}
( s2 [. ^) i7 f. G `, V! T }* V" x6 w0 m" o% A! N7 B! X7 y9 p
if (itemiFrames.length > 0)3 W+ \6 E$ ~2 D4 E, o, i7 W% `2 O" Y
{( f& n0 T1 [! U$ `
for (var i = 0 ; i < itemiFrames.length ; i++)
2 C# x: P# g! E* j; L, [. [3 K {5 C% v, v4 q( r, y' }/ E
iframe = itemiFrames.contentDocument;
( J _; [ F3 E/ j* e this.RemoveHide(iframe,objname); 0 B+ W/ t( N% n0 n9 Z
}
, q: O9 {; Z7 L L& W }
8 j$ l! y% d# |. N; F9 E0 r }
& l; F' Q- p$ h" { catch(e)
1 ?* U, K, P/ ~9 V" G; _; G {* j0 Q+ E) s! p/ @
if(debug)
* D5 ?7 S* P% M3 Z {
+ S! Q+ k) f* B0 Z, } alert(e.message);4 D$ @, R& f& D
}
& u$ R& z6 M6 L0 f }. \, t- [# w, x' y# T
}
+ E; p# ~4 Z( @$ ~ p+ _0 ] 0 ]+ o: q: n6 d% S) [
}- Z: x. E: W; n- b! x) R
" Y* O! j6 F8 N# x
function getRGB(colorString)# `& @; l% t* B7 X7 `7 n9 S: c
{
) }1 P$ k* P7 I: e" o9 n6 z% r var RGB = new Array;
! v5 b( r4 V' o+ X/ }" m7 L5 N var tempSting=colorString.substring(4,colorString.length-1);8 R& R% Y1 d9 u5 l
var tempArray=tempSting.split(",");
0 }9 _3 h, t; N' ?& O9 h6 s' A2 b' E
RGB[0]=parseInt(tempArray[0]);
! T! E) z6 r1 O RGB[1]=parseInt(tempArray[1]);
' b/ z% Y( A. C) j RGB[2]=parseInt(tempArray[2]);' Q7 @4 G* N( w8 s7 a1 b% S5 o
2 I! x; }+ y( l g return RGB;
+ {6 i$ u; \6 M' Z}1 f5 o9 S, ^. }* c5 c
function keys(evt)
1 F: c% o' N6 i& X {
b9 M' j3 f% N4 M3 s, K" B3 z7 P" ~ if(evt.ctrlKey && evt.keyCode=="81")
6 z# v3 {/ p9 i4 I8 l {
- u# J2 f8 _( S5 W3 U CleanHideObj.on(0,1);
! S- G4 T r" f6 g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. [0 m: j4 f: W/ e! h7 z& B2 W
( U F, _; I! } }
2 n, `- y5 _: {% q0 w } 3 B- A' ?# Q2 `8 F
document.addEventListener('keydown', keys, false);
) F! j1 i, m" ]9 j+ A/ \GM_registerMenuCommand ('Clean Hide',
2 c. E/ |: r. r, N- V) Kfunction(e){7 H8 R! M6 V7 T0 J2 B( D0 o) U
CleanHideObj.on(0,1)
: l3 \* [" A2 b* q' F- ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 t4 L9 D% Q* }; f! M, x});8 H% E; p2 _0 ?; }; d' S
|
评分
-
查看全部评分
|