|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- ?4 ?4 Z$ S! R3 R3 L' \
* L0 M1 l* x" C火狐插件,用猴子
8 ^# D; n- U# H3 o* u, _
% A- w) l* I. h, |$ D+ Dvar debug=false; 1 b Z' l( l8 g7 s* B0 U
var CleanHideObj=new CleanHideClass();, w" }% \6 z, n( ^' V( l
1 y+ f2 v6 `5 w, g- y
function CleanHideClass()
) v1 G" f( u, w& }! ?{
" Q- U, k; }8 b, e 1 V0 a+ {2 a x) F7 k0 ^
this.on=function(id,bMZ)4 J) c6 F. _4 O b7 O5 a" p
{
* }* J" ?+ n8 F* N3 J5 y , Y2 H/ R7 \( {4 a: t$ {
if(id == 0)
+ R8 Q# E, h* |2 b6 J4 v1 L {- j7 h8 ]/ ~+ X2 A
var page=/* document.getElementById("content").contentDocument */document; 3 @: m8 Y E; }3 I* \
this.RemoveHide(page,"span");
5 x* @7 E8 ~% L% P this.RemoveHide(page,"font");
) j( z* |) m# c. O4 ] this.RemoveHide(page,"div");! [# v5 }7 }4 E' f. d
this.RemoveHide(page,"p");
/ o' k/ I. z+ J, k) u
+ D& X& G- _- z8 p8 ^( Q9 B3 j }
' k8 G7 o0 Z/ G 9 E+ a1 A% J, t; K0 K
}# m! U! b5 J; ^2 r8 P: r! ~# S
this.getobjstyle=function(node,prop)$ t' E. i& h4 y. r+ N
{
; ?- X/ r8 |1 c, @ try
; E6 {9 W# ^, P* q {
: L" P2 }( A" j: S# A8 t return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 g# ~) P( C* h9 U* [- l
}
# n3 f$ L) N3 x M catch(e)
9 g( [& J: ~# u6 r$ ~* B$ c {+ k* |3 {# b |
if(debug) J$ w/ ?, _$ o* G# N: H
{
( V6 A1 z$ I% D6 e alert(e.message);
" L4 Z; ]$ K/ a2 r6 f }
0 B, [& @( X" A, Q4 ~
' c5 e- c! T0 |+ `9 B, u) s# Z0 P& Z return "200";
/ a2 b4 n& Q) M7 l }4 B6 _- @1 X$ D
}
. g7 T) n* }4 @' N o# x3 e( V0 Y2 f7 S) P1 g2 @5 i5 W& @
this.RemoveHide=function(page,objname)$ D5 K$ q$ [# Q7 S/ B: `. n
{
0 K+ g- w4 o' Q) K# F4 W( \ try. @4 z! ]$ S5 i1 E& F, ^) \
{8 n( ^! _4 Q6 \0 l4 v& m
var minValue=15;# ^) ?, z, [0 C
var objs=page.getElementsByTagName(objname); 3 K) S2 m& Y9 i
/ I. O6 r2 d* S% t if(objs.length == 0)
9 r3 [' U+ l, i( ] {2 O0 P8 W$ u+ N$ _6 @# x" d
if(debug). t H% T3 X9 _+ v& I
{
! h* B6 c+ U. |) U: m; {8 Y alert("no object found!:"+objname); Q& B* T. t: W' y& `" B
}/ O; b' J0 c. F% `
}4 a$ C9 @! K! g n4 m
else
1 p2 w: d! I' ?/ g+ q& n {
( E- x3 |1 I& ?% W8 ]
5 y- @ Q5 l( G. b7 b9 b% Y for(var i=objs.length-1;i>=0;i--) , q$ ~! ^4 x5 N6 z( N5 ?
{
3 P* ?- y1 u0 p3 m var node=objs.item(i); 0 X/ h* {& ]" `$ p, |6 I
e1 m7 x+ b. h% `6 i4 E4 d, Q * Y8 P+ n; v0 k+ u% }! h+ d
if(this.getobjstyle(node,"display") == "none" ||/ y* h; u7 l/ |1 J3 `
this.getobjstyle(node,"visibility") =="hidden" ||" ^2 x4 U( Q+ Y) U; F( a
parseInt(this.getobjstyle(node,"font-size")) == 0)
# R& t0 I4 e0 L2 P7 @3 d {
* }2 b. s- Y1 f$ ^7 a. Z if(debug)
. y1 X' z# x' A) A/ T' V6 _' v {
2 J. ?% W3 X' X* G- \ alert("remove invisiable!");$ @3 D+ k1 {: J6 b. y
}3 Z }& Q* H2 l _0 T
node.parentNode.removeChild(node);
- Z4 \7 s$ ~/ e+ }8 S $ z. G& q( A# M0 [$ g6 l6 I4 i
}
; B4 L f0 {- \ else 3 p* O( S" c4 |7 U0 f9 [
{0 o2 D5 u$ r$ e8 o3 ?
if(node.parentNode)
/ F2 P9 n: l& R+ r8 Y {/ I |7 K0 H+ ?7 A
var orgNode=node;
* \3 ?/ g9 g H& J3 c; ^ var orgColor=this.getobjstyle(orgNode,"color")$ l8 c, ~8 X7 K" n$ I2 s
var orgRGB=getRGB(orgColor);
6 e! m. G9 _/ {/ V8 f% x5 _ + |$ Z( U: B$ B, [ \2 v- w, t
var parentNode=node.parentNode
% `8 w+ S# j& _- h A var parentBgColor=this.getobjstyle(parentNode,"background-color");
) W' g' y, R2 \6 N4 V
! P4 ~( z/ F6 s& X- Q" X& h var isLast=false;
+ K, s3 X- r1 g
0 b* U6 F& v; W2 t: f* T while(parentBgColor == "transparent") 5 `# b; a4 _: {! d) X( J5 E8 U3 c$ o
{1 t* K# t: U+ d$ _
. M' @$ d9 c" y$ A$ ]' M% c * x3 ?) f- W1 I
if(parentNode.parentNode == null)' S$ L* T* n- H4 F [" ]
{
; b, F' g2 K. m' Z7 \ isLast=true;5 h! Z: N7 U# K$ W0 I
break;2 t7 ]5 b7 n+ x
}9 P1 o* o6 v( L1 Z
parentNode=parentNode.parentNode;
8 _ v' U( A/ G" l0 j* q parentBgColor=this.getobjstyle(parentNode,"background-color");
0 v" J* h: E: H5 i$ x+ |2 P$ H* y9 n" Z( a6 [; N3 r% |
if(parentBgColor != "transparent")
$ }- m" A& X8 x3 z0 l: H/ i {
0 _5 N* b/ ~; d# [" n0 B5 [4 v break;- A. |5 l1 F( {$ r/ L0 A
}
4 c1 ^" k. j- O+ l3 Y8 f0 p4 j }, o9 v, ^/ y# v0 T. p' k k
if(isLast)
! n9 _8 j: F, W+ O8 F9 I' `7 n6 i {1 Q1 i7 w J C# b; F4 @) H! f0 |
if(debug)" [; X3 ^( e. {; ?
{
4 Z* R, @: m* {$ k' {4 ] alert("last!!");
/ h5 \* t9 \0 f( B) x" v1 }8 V }6 [: s2 s6 v$ Z. r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) Z- A# g& y* A. j
{& ]. s7 `8 X$ }9 ~
orgNode.parentNode.removeChild(orgNode);
! e7 Q y4 `4 C5 S; k3 S }" {7 r2 I9 Z2 \* b) I
}
) X9 h* V" a! n. L Y5 O# d% ] else" H: K% m1 Y4 k7 c1 Y7 s
{9 o, n- V$ ~* ~* g1 y7 \
if(debug)
# z) \0 Q4 {2 J! X {/ W* n+ U: L* n. @3 a' t
alert("compare color and parent bgcolor!");8 W* |, g4 ?& |4 Y8 Y( x' f2 X
}2 o* T$ J: R' R: p
parentBgRGB=getRGB(parentBgColor);
, f! t; a% f+ L. E N if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 l: T g! V* d {" I% }9 g/ y, _8 }6 o
orgNode.parentNode.removeChild(orgNode);
) `, z8 B( F% z }" Z+ n: Z; \( ^+ N+ }0 e
}3 C# K# l2 ]( D1 j! q( ^. v
}
' A' V# W* j& t; f }
# g1 `, B U J6 b4 L }; l# g. j. r- A$ N0 o
}
- a+ T6 _% o0 U& \0 e
" W4 L) M: S, ^7 {* m/ E
4 y( R5 }2 }" h O var itemFrames = page.getElementsByTagName("frame");( Q+ r4 s9 R3 x. \# ~: |3 M' o$ M
var itemiFrames = page.getElementsByTagName("iframe");3 F& J5 ]1 l: Z+ g; r
" g X; F# ? L% B: O4 }/ W
var frame, iframe;# b% ^7 ~3 S9 E" n, V4 b5 Y) l0 T
if (itemFrames.length > 0)7 e- n; O! `8 _5 W
{& m% S( R# |+ r
for (var i = 0 ; i< itemFrames.length ; i++) }9 g4 n( ?- X' _* d/ u% V) X' `* d
{
& g4 h2 U) h5 L+ M9 f4 [ O+ W frame = itemFrames.contentDocument;. ?! F' r& q( k- i
this.RemoveHide(frame,objname); % |' C' K& E! v. j$ i8 `5 F
}
0 o+ i) j) G. S6 ~ }
5 A, }: g: \5 o5 R$ z3 U* @9 o& t* p if (itemiFrames.length > 0)
9 ]1 o. s; a: |& j7 } {
- p0 N( Y% @+ f s( T for (var i = 0 ; i < itemiFrames.length ; i++) , R; R' D0 Y7 \/ X5 O' \1 P5 b
{" B( X9 A) u! w4 y. P2 v& P& T
iframe = itemiFrames.contentDocument;* b( J2 [; Z( v/ f, p/ [
this.RemoveHide(iframe,objname);
" P" h5 N0 X2 l7 u$ ?4 m: p: R" v }
. }$ t4 r: b( F- l }
0 F# k( Q9 } F5 w }; {7 k) g7 _; E/ ~! B" y. r
catch(e)( @- e' _& {; ^) W
{
4 x6 n& d0 f- T( t2 w/ O" S$ V if(debug)
% i9 U& M; U9 w0 d( V {+ F: Y* X, G7 L: q- q/ o
alert(e.message);
7 _0 N2 v _5 E r2 f. J" b }4 R# C2 D! o4 I5 y. A. N& x
}
8 h# l9 v" ^- i* w& F6 x, K }
- W( z1 f# M: t2 n6 M) p0 A: ~ 9 W5 k" D" M; s, z3 E
}- J! d2 B, v( D$ ~' ?$ c
1 ]% B( S5 c8 E! K t
function getRGB(colorString)4 {3 ]+ i2 g& G( |' s3 K$ [& h
{: C5 H1 B; E* j; Y0 |+ d
var RGB = new Array;* c9 h8 x Y. m1 g$ `
var tempSting=colorString.substring(4,colorString.length-1);
3 b& h2 D `, L6 D2 g var tempArray=tempSting.split(",");- P4 a1 `- I' H7 X7 |, v, G# O! p
* m( f. r3 Y d: X2 J/ f* v$ J RGB[0]=parseInt(tempArray[0]);
9 E/ V3 E! }$ d4 ]1 L RGB[1]=parseInt(tempArray[1]);
* {6 j3 S( |- r; k2 [6 _- B RGB[2]=parseInt(tempArray[2]);
0 j) G( ?1 i" o! [! q& O" F . b7 W7 Z0 O. f5 B& r
return RGB;# M/ U2 e4 R& ~# Q6 w3 K
}
2 s3 j2 a C5 Z) D; Q5 [- g1 A. C0 gfunction keys(evt)
1 R1 K; n' E j; Y R7 J { % x9 W! C% G! Y
if(evt.ctrlKey && evt.keyCode=="81") 8 e6 |$ F" D$ {3 ~' S, a" k P& `
{ " M Z! I1 w" a s
CleanHideObj.on(0,1);2 |6 j+ y9 i# Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ {; o& p- @2 Q5 J. m9 ]
! U) O; z3 `0 e; k! _0 e }
: c, R( c6 j2 |, j7 ~ } * w0 v1 M0 [+ t' c P; _
document.addEventListener('keydown', keys, false);
! }& ]+ y2 G4 e1 TGM_registerMenuCommand ('Clean Hide',
7 _& A# W" w* J/ V6 Dfunction(e){
! S% U$ `1 A2 bCleanHideObj.on(0,1)- ~ j0 S& e& C8 M+ j2 J' v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( b7 n( m" r r, I. x/ |8 f% x});& n- i: Z- e8 K+ }, {3 Y
|
评分
-
查看全部评分
|