|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 b% u, H# M) \% ~8 j) E
2 ~( w( ]+ H5 d( F! P# R1 z& p. \7 u# C火狐插件,用猴子; K1 p: y% @+ x+ D; h* d# }% |
9 `+ F+ c) q) avar debug=false; / f" s2 ~9 Q8 F, V8 `$ Z
var CleanHideObj=new CleanHideClass();
9 B+ m$ |% [$ |6 F& ^: w* @+ ~" D9 u) O3 }- r2 H8 [
function CleanHideClass()
# L/ I H: o6 C; a/ Z: b{ & g, L+ N5 p: N A* \. ~
# s0 d# @$ B4 [8 h( O1 N4 K this.on=function(id,bMZ) S$ y4 g7 A* M, Z2 d* u
{4 L( c% G' b* h- {8 d# k. |
- J+ ^. ?6 i6 O8 T if(id == 0): g% h- G( G$ V8 O0 O/ x$ e+ h
{' F- L" O( j! G% g4 K
var page=/* document.getElementById("content").contentDocument */document; , h- Q7 n8 M2 Z/ O# S
this.RemoveHide(page,"span");
; z* P* \* H: l2 H8 H this.RemoveHide(page,"font");. C) B$ x# {: A* `% u t
this.RemoveHide(page,"div");
6 r# N2 f$ _4 v; h this.RemoveHide(page,"p");
d- C6 k- x9 O: ^$ U % q# m2 `0 \& w/ w6 v
}
+ N9 I1 `9 l& ?4 R
( q+ _2 q: _4 M5 h! c& j' x" [ }
& D/ M9 V8 E o8 \ this.getobjstyle=function(node,prop) P9 s \/ j* e$ ~( z9 o8 y$ p/ \2 X7 [
{/ U: }0 C" Q+ p9 X+ r4 G8 c; x
try, J) j: M8 O T$ a; x
{$ N/ _- P2 h% r3 Y( J8 I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. m4 q- p; y: h6 E( B; ]' d
}* X" O* M9 E Q( Q( E' S$ v
catch(e)& k; t9 q. E( }3 B
{
2 E2 o4 J/ ?9 B7 Q if(debug)% e# F- m3 z1 [1 |
{6 R$ X4 r4 A+ o1 x' d" V- ]5 u
alert(e.message);
; I7 n. }' `5 K4 r5 ?( Z }, o3 E! g: t/ W* j1 |6 N3 d! w) f
- s D' H' \; N4 k- x3 q/ w
return "200";
- F) N& _ E5 N* H+ B }7 n9 ] z' l( D9 o( \2 Q7 E" h
}
6 [, _" P: _' i; W8 l. a# m% m( Y
, Y1 @7 R/ B( r/ U5 V& s0 } this.RemoveHide=function(page,objname)
2 l8 l9 w2 x: x2 } {
6 q I8 Z! B* i4 b- @/ i- ` try/ C X- m3 `. A. n4 U/ ~; V
{# x! g4 [/ |5 P; O/ o! u& k" i
var minValue=15;
9 P/ G3 W; u; a- Y var objs=page.getElementsByTagName(objname); ' |$ H4 q% Y% r/ U0 ]# x6 K- B
/ F9 h% l% z/ ~& N if(objs.length == 0) 8 W# D: ?$ G( Y7 x! X
{
! ?( K2 p3 b- }3 ^& {7 ~/ p: e if(debug)# x0 Z$ P, E6 t3 k4 s
{' K( b' k4 L7 q) G. {
alert("no object found!:"+objname);
4 l# b) J% W3 R9 q }
# K6 z' r f6 N1 j+ y }/ t0 }" i& i& W2 c* @) x
else
" M" O( R9 `6 X, I) O {: r2 P7 r; ^$ }8 {' N: I9 k
9 a9 K& j: r7 p1 N) {7 v# f# c for(var i=objs.length-1;i>=0;i--) * C- y- X( n; I8 J6 C7 N
{
- U1 a) V9 |# A* t var node=objs.item(i);
4 J% t; `) }9 y$ ^, U @- p
% u) V1 H1 a1 p+ I+ P8 E% K$ O
, |# g3 Q( G$ u if(this.getobjstyle(node,"display") == "none" ||/ {+ q/ `" @7 ^! [, ^5 ^9 {; v
this.getobjstyle(node,"visibility") =="hidden" ||
" d2 g# o3 }5 Q parseInt(this.getobjstyle(node,"font-size")) == 0) 6 j5 ~" G6 l/ a+ k
{
4 \0 @: T( S4 i& l, j if(debug)1 Q" w+ f Q' p7 J
{
3 R+ O, Q8 O; t# ]3 Y0 }6 U alert("remove invisiable!");
- C1 A1 E8 b/ A3 ?! _* B: |) D }: w6 ~7 q" |5 x1 E/ O& u; C" `! {; x
node.parentNode.removeChild(node);2 ~" a& z- K% q* A* [
# i$ Z! E6 B* X t
}
- ^. U! A! l0 M" t" j else ; Z5 T z. n9 [* c, U+ d+ Z
{4 t6 l# \2 U# c
if(node.parentNode)
3 f2 R4 A# r4 U( s) m5 c {7 w/ i% M' n3 c$ b8 t: Y z: b
var orgNode=node;
& P& I# F' \9 h% W. U/ D var orgColor=this.getobjstyle(orgNode,"color"), ~- B1 f$ ^. }3 C* p) \' c- ]
var orgRGB=getRGB(orgColor);
: c8 _- j; G' k 0 ?4 n: C0 W0 h4 S
var parentNode=node.parentNode: Q4 b( O# R: U( w1 k P, l
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 r- l3 ^7 i5 ]7 D) `7 d
W: ^: K' Q% i) ?
var isLast=false;( @# g. M7 k* n: P" `# A
: J! d7 j, ?! L$ K7 v( Q& }* V
while(parentBgColor == "transparent") * N( M4 Z3 s/ V
{
. [4 X7 M7 ^. _% O: {0 Y( F
" O; ?5 Z2 C/ E# d8 ~. t" w6 ? ) ~9 C" ^6 x) Z
if(parentNode.parentNode == null)- g# I- s. H% L
{
, [3 V1 z( i" l* Q isLast=true;
7 `2 ~3 `: N$ M; u; v |2 g! A break;' i+ h1 o1 d4 A4 C/ v& z
}
- A( K8 s$ S, h5 I parentNode=parentNode.parentNode;1 L2 c4 [+ `' O1 a) O; c, Q3 _, h
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ O U2 n! Z/ M( i- i/ ?
' w: T/ c; D, j if(parentBgColor != "transparent") " `# k+ l( }1 p" [4 B" X
{
0 o& W% ~# S3 u2 i5 J- |& k0 {8 ^ break;
& E$ ~* [, [! v. V }
h7 O* u$ G- K/ R- X2 i4 H3 C }
1 o \/ B6 E1 i# l. s2 i q. M if(isLast) 5 i: V% D5 I/ c! f2 G
{
1 P: G M7 d9 S$ | if(debug)7 W2 q% Q$ X: G `% `
{
3 c1 O8 p/ M9 E. i0 H alert("last!!");/ ]# O5 I. v& f3 f# ]* X+ p- m! T
}
. r4 U- s* F1 h7 x' e7 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 V$ y$ {5 ?! A( `; I
{& V( S' D/ b8 ?3 X0 I+ o: l
orgNode.parentNode.removeChild(orgNode); , B! }3 h- J. H
}
0 z7 _' b$ @& v- K }
3 \, w+ S1 ~- U/ D else
4 s4 V1 K) _- v% K; n/ T {
: C0 j% i( w. P8 X if(debug)
+ c4 z% Q8 K. r {! U1 p9 U; g/ K3 a0 I
alert("compare color and parent bgcolor!");
8 p7 `5 q& @5 h/ b$ z2 i3 J }- Y9 z, H$ D6 `9 ~- Q
parentBgRGB=getRGB(parentBgColor); o6 B' p9 G" B- D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 U% g2 J, b( S9 s+ u! l" y {
, g$ D7 v+ J( s3 E5 Y4 M$ ~ orgNode.parentNode.removeChild(orgNode); * R: y- z9 r) w% W! o6 y
}, K9 k4 z$ x. f R! V0 B, c
}
0 E9 S$ I( k: y. Z }# u( C. s; M( i5 ^/ H. b
}3 `0 U' `) \% ?7 ~- B
}
9 g4 R. |" f( @2 w0 z }
8 M( R/ c1 N. K( L* D
4 |1 j8 |. v1 m* }3 L. u
9 ^- Z/ }2 A/ E: F var itemFrames = page.getElementsByTagName("frame");4 _9 W) r# ?+ D
var itemiFrames = page.getElementsByTagName("iframe");
+ h" V8 T/ [! y% E5 x + e+ }% k6 D7 H; c6 v' Z
var frame, iframe;! `3 T2 q8 o1 q( @7 T
if (itemFrames.length > 0)0 g4 J1 F, O5 A
{
+ W' }, W- `$ z% `, q$ w2 q for (var i = 0 ; i< itemFrames.length ; i++) ) E; Q1 ?& g' p+ [& \4 |. Z# Z
{
' V' E3 u Q4 a, c+ n frame = itemFrames.contentDocument;
4 `2 d0 p. ], ]# k this.RemoveHide(frame,objname);
- Z! A2 n4 m' e3 Z* C6 L; \ h }0 _; z3 e2 p- y* ^) G
}
! f/ j: a8 P7 \6 @! g* @1 q! ?: y. ?9 F if (itemiFrames.length > 0)9 C. y B( @( D7 Q! O* y4 y; c
{
$ j1 ^; a& l8 c+ z. ?# s, r7 G for (var i = 0 ; i < itemiFrames.length ; i++) 3 E! Q0 Z/ n. d \4 ^ K0 R& T
{
% N0 N; l1 X6 o) i f" ` iframe = itemiFrames.contentDocument;& ~& H9 y2 G1 y/ S6 F
this.RemoveHide(iframe,objname);
4 b+ Z G) V7 D6 D3 e, z4 G2 S }+ s, Y" P/ Z* a
}
/ @7 M" A' k* ~ }
; L! b; v1 N8 P5 h, r. V( } catch(e)2 F& R: j0 V: h% P
{
) a; V N6 J6 R. ? if(debug)0 ?9 b6 \/ I H6 W$ H: L3 }
{) Q! E9 g: ?% O' a1 }( }
alert(e.message);
+ H+ d* u" T" l0 Z# W# o! g }3 G* {9 u% l4 q: c, `& O! z, U3 x
}
) S! L4 }% `% n- d0 c$ Q o% {& K }; H! H% q. P, \1 g
- n8 A/ Z% u; M8 o( r}# |2 i" Q" p4 j. N, ~* |
- W" P1 x4 X3 |
function getRGB(colorString)
9 g1 x, n" m& N3 G! [{
; J& ]( W" }4 P* G- T var RGB = new Array;( W& | o! p$ k f/ }9 q# N
var tempSting=colorString.substring(4,colorString.length-1);( G7 v8 r, E# v
var tempArray=tempSting.split(",");
5 `6 V2 p# T7 @( F
/ M4 ~% Y Q3 v& D. ] RGB[0]=parseInt(tempArray[0]);6 ?0 x3 E! @6 T# ]4 m- j7 b
RGB[1]=parseInt(tempArray[1]);
0 l$ X) |8 ?6 L8 I9 @2 J RGB[2]=parseInt(tempArray[2]);! p* Z2 C% g: D# m, F; M2 p
* |' G- A; H, Y/ u8 ]
return RGB;; f& p/ \6 l2 @. [' P. u
}9 w0 @2 M( d2 D9 s7 e
function keys(evt)
/ Z4 Z6 |/ \# d6 _8 Y5 d6 a( l { # d/ R3 V% V" ]) w
if(evt.ctrlKey && evt.keyCode=="81") $ N7 |# W0 n, o' e, n' }
{ / w d! P' S' ]# P' U7 L. R3 r
CleanHideObj.on(0,1);, \/ \9 }1 O8 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 m- z4 _/ \' W" O$ _' g0 [4 e* o4 t
( k$ K# `' c% Y. |9 M } $ G- {, F7 O" q k, F
} ) x: k- C; I ] r$ W
document.addEventListener('keydown', keys, false);
8 c6 T+ \! R1 x, c$ v; J7 gGM_registerMenuCommand ('Clean Hide', W. M! E1 O' A. Q
function(e){
' M/ c e9 s0 ICleanHideObj.on(0,1)
; A5 `! }- O+ }5 aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 o. A6 n8 K6 ~# s) ~
});$ \6 a) M3 G$ Z7 \- h
|
评分
-
查看全部评分
|