|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! p& U* b, k* w1 S1 w3 A4 z
+ [' A2 z5 L5 B/ W# Q8 Q
火狐插件,用猴子
; x7 Q7 c4 ^! F% w: G
7 F* v1 |% S0 j. ~* _+ dvar debug=false; ; X I! y& G. A( L1 b5 s
var CleanHideObj=new CleanHideClass();
& L' }. q2 [- J4 `# _
; j$ ^1 l1 O1 R( K$ Dfunction CleanHideClass() * \+ b; @4 S$ |, L0 H, a# b5 D8 g9 E
{ # H+ o0 G1 M$ ~; j" g5 x$ [ K ~$ o
- l* b5 K) n" K( s' |" ? this.on=function(id,bMZ)" z; X" E- x/ ~$ Z# b2 | t
{; o8 `" G; j. J& X# e m0 @
( |/ X! K6 X4 D4 ]3 b if(id == 0)& ~, i r) r/ f5 n
{+ }3 N L k' y. O. c* U$ |
var page=/* document.getElementById("content").contentDocument */document; : r1 F7 k5 N% {, t; M u0 u
this.RemoveHide(page,"span");8 d& t; ~- t$ c
this.RemoveHide(page,"font");
) u. k D9 z7 _- f# s0 b i this.RemoveHide(page,"div");8 R7 ]: D% g W7 B! ^& r/ S5 c# ]
this.RemoveHide(page,"p");
9 `2 b; |4 y. X. {3 I: W
# Q( y* m: ^+ V. w* n }
- C! x. ^' t5 l0 B: z ; J+ n! z/ A8 r
}: L/ j) T" d+ k3 q# q% N% J
this.getobjstyle=function(node,prop)7 {+ j8 ~+ _% |$ Z+ g
{7 G9 P+ s, G$ l# }# y
try3 z; G( _ |: Y& W# ^* d7 u
{
8 R$ |: g5 T8 v2 ~6 R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 M5 d) m6 A' J( F) J6 f# u9 A }7 s( m4 l+ J; I M* n( y! r
catch(e)
( k6 ?# P7 f! f& e( f } {. d, D2 Z6 y7 M4 i. x2 ^0 k ?1 j
if(debug)# D' l/ Q# g' i) O( L1 f6 M; Y" L
{% A, y* T; w; J x0 Y7 |
alert(e.message);
/ [4 G; |; K- E8 z9 l6 M0 P }( [& ?. f3 r2 c0 _. h3 {, i/ m
6 ]) J9 @& A( p, o3 X2 o
return "200";7 F) Y' n* }) M+ J2 s% R
}
5 t8 t' \! D+ _" ^ }" o% n* N9 i' y. R" O, |+ ]4 d8 y& `
# @( V0 T) K" F) V
this.RemoveHide=function(page,objname)
. v% U* Y' z3 }/ q) f8 ? {0 A4 X7 T2 f' h8 y7 U8 \) c/ S
try0 @1 H' l; r3 G' K7 y
{5 L) o& j, F! @# j7 g! i
var minValue=15;+ J& [* o. o* n$ t
var objs=page.getElementsByTagName(objname); ! }( W' D6 F N" S
9 q) H( ^! ^! ]1 h# v0 H& i if(objs.length == 0)
- F, j6 _& K N& m' @! n+ i {8 m6 r/ h9 T) N
if(debug)
# _, Z. H. u9 | {
- M; `. \7 c4 g/ B; t alert("no object found!:"+objname);
- [0 D( l: D& y }0 w# g f# K9 b D" r4 F6 c# O
}: \( F% D5 x5 k$ F8 O
else4 P4 g4 @+ j# W$ V- C7 x: l
{
. ?8 P. L4 f. M$ {7 {* V9 I 2 g# v4 Z: Y0 S/ s# a; W
for(var i=objs.length-1;i>=0;i--)
# w! \9 m3 Q6 Z. K {9 ]! `4 Q. K* F8 s/ K
var node=objs.item(i); + h8 O$ G, u3 s
" K) _3 @. Z" t0 _
$ @4 [+ D' z% P: Z& F: @0 ?
if(this.getobjstyle(node,"display") == "none" ||
4 R* ?& z6 v2 y3 k3 u9 X this.getobjstyle(node,"visibility") =="hidden" ||
, B! c; j! l& h- |5 }' J! { parseInt(this.getobjstyle(node,"font-size")) == 0) $ o o+ @& l9 `. T. b k8 k) i2 l
{/ U* `3 m! Z, v* k; H
if(debug)/ i/ G% J" O, W
{
) M: |5 k/ [: q+ P4 T alert("remove invisiable!");
4 M+ Y* j6 x B/ W# [0 ?% y }
/ s& L8 u M5 [" V. A1 e u* Y node.parentNode.removeChild(node);! L5 I/ S7 k" u, P' i
0 H' e. F7 o4 T# p( a }$ K2 e" h" D8 ^( J: P
else 1 k8 U/ s0 S0 H; c
{
+ Q& _2 l5 ?; ^$ } if(node.parentNode)
b: l; s+ }: u9 r' O& d {1 D( h, G i* \0 X% g2 l$ ^
var orgNode=node;
8 k4 t9 o! b) v# b var orgColor=this.getobjstyle(orgNode,"color")
$ G. L" c: k W var orgRGB=getRGB(orgColor); " f% t J1 Z- [
, H9 J) D. _+ s0 u9 s. D
var parentNode=node.parentNode$ E, g8 C- E3 w( d' U- K
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ m" n5 v: f+ X' u$ ]! x ' ~' x2 u& B& C4 ~4 l( @+ j
var isLast=false;
) s% D% H7 D2 Q w/ j: ?1 W" H1 S ( q/ v0 @7 `, V
while(parentBgColor == "transparent")
( B4 Q) j5 Y4 H5 a0 N { ?$ \" \5 @- U* I: r
3 B5 q x* {8 i* v$ O; [' L+ _, O
' o1 R% J7 L: h4 S; \ if(parentNode.parentNode == null)) f8 d8 x, Y" y
{5 U( p- p) A+ C: d
isLast=true;
& T7 }1 q$ ^: X7 d1 N: H) t break;
5 t9 K& Q" [- X, a, o. W: A/ b }
~5 \8 K$ V) _1 @* {, ^ parentNode=parentNode.parentNode;
* s( |. h9 |; Y& B- u parentBgColor=this.getobjstyle(parentNode,"background-color");) ]0 ~5 ?; d: e. B; O8 [
8 A* _1 V, x5 R7 H* ^+ Q% s0 d if(parentBgColor != "transparent")
3 g' t$ s9 r9 m: m- w {& i9 p6 [' x: p- u; |/ t ]
break;
/ n, d2 R; O) d' ~; v6 J }
/ {- E) b& ~' d7 t( I' s }" w! A2 b2 L7 m
if(isLast)
6 T+ R- I8 b0 U L. \/ ? {; B6 P% i' R! f, V" {, n
if(debug)
! B1 ]0 @/ s* U {
" o+ e0 U6 D) ~; b) s2 I alert("last!!");; |5 {6 t7 O8 \' v
}
2 X7 k M) w3 N+ a1 s t. x if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ z0 c1 E2 Z( {! p {2 Q( z- z' f% y
orgNode.parentNode.removeChild(orgNode); 5 K& ?) S Q5 b1 v' W8 q5 n0 P
}
" @7 X, g/ ?; d7 ^: k }
8 |; f0 B/ q" U$ B& a& N5 W' `# P else* W0 b# ]6 H" Y' T7 u0 g. z
{5 O0 G# t7 t8 o7 v
if(debug)2 b8 v* t, E9 ]# v/ L5 x3 N
{5 I# l6 A& c4 W% V0 _( A+ \4 I
alert("compare color and parent bgcolor!");$ h0 f5 A5 r( g, ~- e
}
2 S3 Y% p" K" k% B4 P! m8 E parentBgRGB=getRGB(parentBgColor);% l) C- A! m! b& C- {9 [- v7 V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ C1 S- K. x& M9 @8 _; ?2 l- P- e {
) h+ u& @$ s# H! E0 B orgNode.parentNode.removeChild(orgNode);
5 r7 o( ^, G+ ]! { }2 K( m" n* p6 m
}$ ^7 a/ @+ K* @# M
}' e9 i1 D' e( W' L( _! r
}" g$ V4 V* m& Z; @
}
2 n4 ~- N, k! R! L2 e }
! Z5 p& |! e9 j7 U$ I x1 x
& N, u9 P6 R" L- c( H) C" o ) s3 V S' ~. f! d2 S: z
var itemFrames = page.getElementsByTagName("frame");6 g* i- w1 s9 ?( n7 e7 n) v
var itemiFrames = page.getElementsByTagName("iframe");, D6 v$ x, q+ s/ m
. e- v9 ?) ^( m6 |% {' P
var frame, iframe;
: n$ z; p0 c% l7 A. ~& o5 a if (itemFrames.length > 0)% w: x( }: T% _# j% S' _
{
) Y+ @; e2 R/ c/ Z8 T for (var i = 0 ; i< itemFrames.length ; i++)
! b0 g5 R- n! u! Z8 p# g {) T. j" l( }# k8 C# I0 u4 y9 i
frame = itemFrames.contentDocument;7 b( [4 ?# X6 Y$ r$ R, ^6 X
this.RemoveHide(frame,objname); ' \: ^6 z# {' z) E8 x! h' M; F
}
, l* Q8 T5 d" Y4 M# } }* }+ E2 ]: u, p$ g$ }1 b7 u0 ^/ }
if (itemiFrames.length > 0)
: K0 X( b1 K9 D9 y {
& m' R2 t$ N( F for (var i = 0 ; i < itemiFrames.length ; i++) 3 t2 _0 W9 K- k/ x
{/ L) u! T5 N* `' n& i- f; n3 N" b
iframe = itemiFrames.contentDocument;( a% X' w3 u5 C
this.RemoveHide(iframe,objname); 2 I: J2 }& B* Y! B2 H d9 T
}0 k8 }/ k: O3 D' y" G& D
} D! ~( [+ W# x. K: _
}+ u" r! k5 H0 b, W
catch(e)) E( ^0 W5 x- a) J
{
% d! E) g2 K2 q9 m1 S, I2 h9 V1 a if(debug)3 T% {4 P- z; {6 o, w
{
" B- N% g/ ~$ N6 Y2 ] alert(e.message);+ J/ m$ b8 w' m! B( T$ x
}
4 X; ?/ ^" y, a% M. V }+ l8 B3 B( ]+ J' x, |
}
1 X( h3 U! ~( O: ~/ p4 X
" V& \3 L; M# X! ~! v) z4 M7 E}7 h U% Y: [7 ~7 P' b+ w- y
0 y6 {# K! D" t9 i6 S
function getRGB(colorString)( A( `6 f$ S t5 m
{* a# C6 G# e3 d6 d
var RGB = new Array;
) M7 B2 T: h6 J+ T0 n var tempSting=colorString.substring(4,colorString.length-1);
% ^1 z6 K9 w! J) d0 ~& w8 q5 h' e var tempArray=tempSting.split(",");/ ?; j1 U! Y3 J) v2 K t2 b
6 c/ ^0 T3 I7 t
RGB[0]=parseInt(tempArray[0]);
" d6 t9 b2 } l" C RGB[1]=parseInt(tempArray[1]);9 O7 Q: [; S/ D/ S
RGB[2]=parseInt(tempArray[2]);! x' G. R! h& S6 w# ~
) e) Q. c* N% g7 A8 z
return RGB;
$ a! [) q5 F. y/ H}
: B- t# O/ ], d; h1 ffunction keys(evt) ) \0 J1 ^1 | q& _4 G) Z1 P
{ * Y6 X) N% o& d, a
if(evt.ctrlKey && evt.keyCode=="81")
& H e" v; U. u" x% _: c$ Z: j { 8 X# u0 k4 M' {
CleanHideObj.on(0,1);
- s( z1 x# ^, E* M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 q1 B6 U3 ?' t9 r$ z
" w# H8 [8 t5 ?( u6 \5 e7 ~9 ]4 S } / u4 x% p( u. y- o0 _% x
} " S) v. ~' P8 R9 {- w0 A2 Q0 _4 U
document.addEventListener('keydown', keys, false);
- V/ q% d: A) ^% U, \8 M; f0 jGM_registerMenuCommand ('Clean Hide',
, O& \* z$ a6 { E2 mfunction(e){6 @' r1 Y( d7 b2 X x8 n
CleanHideObj.on(0,1)
# L! d8 A' A, T% ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 Q" y$ N6 D, e" P6 T& K* |( K- o});! ~: E7 W7 Q. T* E
|
评分
-
查看全部评分
|