|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % t/ r$ O. Y) P6 p
E; a( ]3 D, f' ^' i F4 V, V火狐插件,用猴子" H- D# n O8 @! s
4 S- T: X' V& P7 S$ `* T1 y5 Tvar debug=false; & M1 ?" {' r0 T4 k* c3 W2 t7 T
var CleanHideObj=new CleanHideClass();
) u6 s& B6 T K) f2 M0 x
2 E' n( n! M: A5 Nfunction CleanHideClass()
( r6 A0 C% Y7 A3 A: W1 U7 n# U5 |{ - L4 O o& S! E0 B0 a: s% ^- c: F" V
' T4 ], f- G2 P6 _4 W. j, ]3 h3 }
this.on=function(id,bMZ)
) ^% h" d9 F! x2 v( s* t6 v {
. a6 B1 }: M( {9 d$ ~0 ] ! l7 {. m+ o- g h, T
if(id == 0)$ \" x% R; Q0 W+ _8 q4 I
{2 X+ @7 S- ~' b* M4 F
var page=/* document.getElementById("content").contentDocument */document;
8 _2 ~1 [5 J: Q% b this.RemoveHide(page,"span");. F. }( _( ^6 N/ w$ _) G
this.RemoveHide(page,"font");* D7 w; j+ f2 P1 W- ^3 k1 @
this.RemoveHide(page,"div");
. I9 S( W* Z: ]. B. ] this.RemoveHide(page,"p");
$ N. Q: Q( ~: |/ ^ - D+ U8 i3 w7 ^
}2 l! H: U9 L5 @# B
6 x" z) k4 W" K }
3 B6 x1 j, L0 s this.getobjstyle=function(node,prop)
0 S0 V/ G+ t" E2 | {: W# X) A# K7 z9 `6 b1 g
try
3 v+ J+ b/ r, W* i8 L2 {6 J( X {
+ l4 F8 e: v) C5 w/ `5 J' } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' C1 `! @7 d% o9 T! K- \: ]
}
2 k5 t1 j+ F% [0 ` catch(e)
# j6 |2 U! D$ ]1 ~7 ~! {8 Q {9 [5 g+ n' D9 S4 \ C7 Q
if(debug)
9 r4 d" d+ a1 Z: v- Y {6 R* n7 c7 c8 p( s" p- c! w, Q
alert(e.message);" D) P! N# v5 T7 o9 x
}$ k; X& S. E5 o4 J q1 E
4 A& m/ F6 c) }
return "200"; v* f; R- V: j5 q1 c( B9 I& c& h
}
2 U$ r& S0 E( F! f, N1 X }3 u6 d; S0 r; l9 k6 g+ q5 E1 l; g
: G: ^& d9 \! {- g5 P- g# x
this.RemoveHide=function(page,objname); t7 B* t! X4 E8 e7 x
{; w2 J/ k6 |; i6 R# U
try
o" J/ V- f4 }' W {
6 ~, j8 E" y, f. M$ Y# ? var minValue=15;
% h) O& @" G- y var objs=page.getElementsByTagName(objname); 2 d; I. O6 _5 y1 g* {! X8 Z L; }1 {
3 w B5 C$ U2 {+ p+ B% [. g
if(objs.length == 0) % Y F$ ~# `! _# Z: h& O
{0 O- V; f2 P4 r5 e& a" R4 {. l
if(debug)
; v2 I! d4 b! c0 K {
8 h) O* u/ q$ m2 K alert("no object found!:"+objname);% e% N* ?7 w. V3 Q: O3 W! J
}
& o1 |, f2 c V& k }3 v8 p2 l! K5 b2 q) y+ u
else0 N( P8 m, r) I; ]% [( B
{
/ H; S& c, d! B' x
9 T0 E4 j# }1 T. _8 A for(var i=objs.length-1;i>=0;i--) 7 x6 T; m4 A' P4 S
{
4 @+ ~$ r8 m: g2 R* @0 u var node=objs.item(i);
( o; G# M& P- \ / _4 q) ]( `3 }" u c
6 ^8 M0 q9 U0 ~! {7 a3 o% Z! }6 x if(this.getobjstyle(node,"display") == "none" ||; U9 j% s, C. h2 S& c& K
this.getobjstyle(node,"visibility") =="hidden" ||
7 {' f; t0 ^- ` parseInt(this.getobjstyle(node,"font-size")) == 0)
% r; e7 O2 ~. |( a {
6 a3 p& S5 h% E+ k7 H if(debug)9 ^" k. [& k# U
{
* ~) X5 u2 s/ W4 r alert("remove invisiable!");
5 n& L$ X K4 g% z9 `* r% ^ }
- V9 W0 h" f/ c node.parentNode.removeChild(node);. a! \. E8 t7 F3 S9 _& C9 w7 v
! m+ |1 C+ W) v" e8 w }
+ D( d8 j5 Y/ C. _" m5 ^ else 7 V2 N3 L% p) Y w* y# [
{
: ~+ R |) T3 ]$ _ if(node.parentNode) ) E, m O0 X# n9 B6 Q
{
; i0 X7 `0 X9 ]# T8 K( O: | var orgNode=node;: o+ ~4 j7 b* L# \# S' U
var orgColor=this.getobjstyle(orgNode,"color")1 C( u( R2 _' K$ a6 N0 e( N
var orgRGB=getRGB(orgColor);
/ r4 X; [6 M+ m3 D 8 m3 S j& w$ n' z. Z
var parentNode=node.parentNode
6 P5 l" F/ H# q8 J8 m( Z$ ^1 p$ ] var parentBgColor=this.getobjstyle(parentNode,"background-color");8 f0 D' ]5 K/ P( K* I' Q6 d9 m
3 f' a/ Z/ O' C. g7 ^9 ?
var isLast=false;
( ^9 Y* M6 s! l Z ) `( X$ k( h( r; G* ~0 T
while(parentBgColor == "transparent")
+ g4 B* h" W+ X4 ` {
3 U; S" O9 i4 b 0 e$ a L% r; ^) Z6 V
3 b) S) U+ o' x1 j# Y ], Z2 a7 c
if(parentNode.parentNode == null)
' D5 [; G+ D8 E2 F1 U7 p" D {( i0 m; U) b8 H6 w: a% Y0 g
isLast=true;
0 }$ s0 N* X3 n1 A P+ ] break;
) K4 x) x3 b. h8 o/ v4 d } _9 A% A# X. z9 l% @6 L
parentNode=parentNode.parentNode;
$ |/ V* a1 U2 {9 \5 F8 P8 X9 U- k parentBgColor=this.getobjstyle(parentNode,"background-color");+ N* s4 L9 V4 e3 }. |) C' g
, S7 B, d1 L3 K7 ? if(parentBgColor != "transparent") ! f! n/ w. e3 d# }
{
' P, I z% J3 F# x/ F; } p: g break;- @7 m- n8 n; k0 Y( m. G
}
3 `% F. @% J H5 g9 p9 e: ` z& | }
0 `: [$ t. j! r# s* t if(isLast) + W; f A4 T' m
{! m7 z4 Z$ F) s3 A+ z+ F
if(debug)
+ Y/ ?# R9 u* q" d' z3 V {7 J* e2 U8 d7 M& H2 Y% y: m9 W: s
alert("last!!");8 M) r, X9 m! _3 A4 u! _
}& D9 Y# R8 h9 r3 F H* q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
M( a$ c+ L* N2 X* x% v: z {
7 l4 q; R0 K$ k( U! W4 K orgNode.parentNode.removeChild(orgNode); # T' f T; R- q# L5 E3 I0 `0 j
}1 e0 P, v4 _" P! P- A5 `1 g$ P" H' V
}
: w8 h y ~ l6 ^# y else
8 U) k# a/ ~) L7 [ {
p% m- @( x4 J1 Q* y if(debug)
; T1 B o( F8 e: Q8 T {
+ z2 }0 r6 \0 }1 a, w! K alert("compare color and parent bgcolor!");% y' y8 j' ^+ c0 N8 w2 R! j1 V! K
}( l9 P9 @+ a, T& ^7 U
parentBgRGB=getRGB(parentBgColor);1 [6 Y ^# T( R4 ?0 K# {$ a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% s& h/ g* |8 p& b& S" H1 ?
{
( m5 T+ F9 {% I/ }, @ orgNode.parentNode.removeChild(orgNode); $ H! w0 J9 W8 `$ M
}; e+ q0 I; g- v0 t. l" t% l
}
+ }2 j2 X9 H2 d1 `( p }
, Z7 w- p( F9 w. | }
2 G: T" w6 z- N7 A }
" Q/ i7 _& O( H5 w; w9 v2 s }
% {* O3 m# t8 K& g1 ~# e5 { 1 v H' k, u* e1 ?4 z6 t
$ ?; b; D& g4 E d8 K* i6 j) u var itemFrames = page.getElementsByTagName("frame");& c' [6 j# h5 v
var itemiFrames = page.getElementsByTagName("iframe");
8 I' h4 Q& X0 _' } ; [& H: ~/ |* T( [
var frame, iframe;
4 N3 S3 B; |. l4 p3 Z2 k if (itemFrames.length > 0)# Y# r2 M* j! B
{6 G4 p) Z+ ?2 Z9 w% |
for (var i = 0 ; i< itemFrames.length ; i++)
% O" D: _) M1 X; N9 g {
3 o0 d6 I5 ^- t0 P/ _: Y# l( { frame = itemFrames.contentDocument;: L. n9 @% A j
this.RemoveHide(frame,objname); + b& [; e Z! C0 O( V$ \
}. z, D1 E- m" {7 b( }9 j
}
% M: V0 l2 b% q$ O7 ~ if (itemiFrames.length > 0): n3 Z( K& s+ U0 \, G
{/ t0 o/ h/ J& a% c9 `1 c
for (var i = 0 ; i < itemiFrames.length ; i++)
1 c/ B9 g+ ^4 A# G1 f, E( A& v {
+ y3 j% V7 P' X# { iframe = itemiFrames.contentDocument;
' P& I, ~( ]) y- n0 i this.RemoveHide(iframe,objname); . |7 Q b3 v1 P5 e9 U4 a: o
}
+ e4 }7 ~: O" j4 z9 z }% t% v! S6 [: f( J# ?: T
}
4 i3 [8 d* l/ x" R0 g' O, v catch(e)
5 @; w4 q5 {# T" J6 c" V {3 }9 y* u. e6 L' Y/ F
if(debug)( G( r. r) r8 n/ }) q* Y
{( m3 Z6 Q) P+ X+ ]) g
alert(e.message);
3 o3 D' `% ^' h& b3 c1 M2 H6 J2 Y }' D) x s8 Q; d0 R7 o; q
}6 D% T, m; w3 @4 M9 {' Q
}
X7 ]& L& {* }9 W0 Z- {
3 B* l) G5 V3 n8 u, P4 W}, ~2 Q/ U( W1 n. Q
6 M+ j$ z3 i$ X& l6 Q& Y: ^% {6 @function getRGB(colorString)/ g! g+ O0 V1 @1 j8 A5 V) t
{: _( U7 E1 Q' i/ O% ?, ^& |; s
var RGB = new Array;1 [7 b6 \& d& g
var tempSting=colorString.substring(4,colorString.length-1);
* p2 {+ d" j+ R% h- r var tempArray=tempSting.split(",");
0 C5 a, A+ j u1 k Z5 d0 R6 t2 @6 ?6 W/ a" A
RGB[0]=parseInt(tempArray[0]);
1 D4 T" T2 b/ B. J RGB[1]=parseInt(tempArray[1]);' L; G. l$ D# C+ ^
RGB[2]=parseInt(tempArray[2]);
* j: X5 r5 m# ]3 I9 Y5 H" f 5 G2 @- L# I. J& p
return RGB;
. w# N' @- ?. q! a( N! k# E4 y}; y8 J- a' b1 S$ p; _% ^) B) T4 h
function keys(evt)
5 `6 C `, E) |! ] { 6 u! S; @ r2 b2 M' F8 [
if(evt.ctrlKey && evt.keyCode=="81")
3 I& m# d) Y7 s, l" s" {- [! q {
' r; J' Y: b+ M CleanHideObj.on(0,1);
) c- V; d8 {9 y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 h4 o* g) t' F, `& W ! b+ L& l( }- \# f; e
}
1 C) j; Z( N; N+ [( Z }
, l4 P& D( K2 T! s) Qdocument.addEventListener('keydown', keys, false);
3 x/ R9 ]. K1 t0 Y% c* UGM_registerMenuCommand ('Clean Hide',( M8 ]8 G* D, n: L/ t
function(e){' o7 a! R: R: p" x1 @( g
CleanHideObj.on(0,1)0 B: V0 u6 V9 v5 M, n, S! }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); y$ _$ J5 w6 Z# Y& {8 S, e+ \
});
% \* A9 Y) _: D# i, w6 {, y |
评分
-
查看全部评分
|