|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ U6 V1 ], d6 M+ n7 ]* i9 ^( z5 z/ m7 L! q" X! U# i. y
火狐插件,用猴子
4 i& D; b8 z: u! U& k, y: d- `( c: N- }8 X, i
var debug=false;
. K- E/ n4 Q2 q0 q [0 p: F$ uvar CleanHideObj=new CleanHideClass();9 p3 n5 h7 r9 S3 U- G
4 Z+ o* [2 [2 {( V1 u- D
function CleanHideClass() 3 u& k$ a# N2 E& L' Y7 X- w' [
{ ! H3 n3 R$ H; G! U1 e( F1 g7 }
) p; k: e( p& b; R8 M* @7 { this.on=function(id,bMZ)
' i" D6 T/ d* j, B5 c { h) v! X, D2 m( R- X6 {
# X3 _8 T5 `2 |' ?7 t& f y2 U if(id == 0)
; ]- U4 M: }8 ]$ ?, g- ]) |* d {, r! ?( v# ^; Y. E
var page=/* document.getElementById("content").contentDocument */document; ! m- @& y; c' |/ R8 X$ i7 d$ @
this.RemoveHide(page,"span");4 m% o6 X% U5 @6 ?; i
this.RemoveHide(page,"font");
+ B3 F H0 Q6 g. L1 }$ _ this.RemoveHide(page,"div");
! m! I$ L; w* V1 J$ F) b this.RemoveHide(page,"p");' Z& i/ X( r1 k' ?& W
5 } `* l) u' m) r. R v' q# G; R+ \
}
2 u8 `: j8 |( o4 ], w' z8 H1 U 7 W9 C, E+ U, S# F8 r! ?
}
- ?/ e: c8 |! Y this.getobjstyle=function(node,prop)5 }8 t( u# d# b
{) `) V8 h9 I; o: |# v6 ?
try
' O7 w& s! M! g6 q$ n {
9 F6 u+ S6 W4 A4 T* \8 x$ N: S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 t, L* F# |0 F1 I' m5 K
}
/ a8 `. t3 `0 A7 l catch(e)8 y, i. R/ i! E
{
8 F+ r7 B7 w! K5 E1 X4 L( C if(debug)3 t" M" _/ p3 J! ~ @8 J
{
, Z1 S2 ~6 R( {) N% A# _. A alert(e.message);
" w1 P6 O9 V2 |7 B3 ?, c }
& T7 j- A2 e7 i7 W5 v0 a
- n4 O; V( s3 u' O0 t return "200";* H) W( h4 Q5 l! I) ^
}
x) K& U9 p! w( u0 @ }
. S2 v$ N2 g8 t( k, i; {
* a% H! @& Z' h5 {* T1 b+ Y this.RemoveHide=function(page,objname)
. Q9 b- H" U; N8 C0 Y: u( b: i {, ]1 ?3 I7 J+ R7 \7 N
try' ~: Y8 \% h) H! M% ^: G
{
u ]' V$ E* k& T var minValue=15;
6 j7 D$ N/ v# q% H var objs=page.getElementsByTagName(objname); # J& S5 |8 x8 b0 [0 ? h e
9 X3 j6 n+ i8 o$ C3 A& g if(objs.length == 0) & Y0 b( E* n! \8 c0 a( W! y) K
{9 L5 _* Q/ ^ m0 D- r% G/ z x
if(debug)
# S! X) E. ]6 {, s* _* Z8 }( R; _ {
4 H, H. v V% n# x: @- ~2 f alert("no object found!:"+objname);
& R! U1 P# V- Q+ v/ b# V }1 o( X+ ~) \5 t: I! j9 H
}
/ U- f7 t \- O7 x' G! k2 q9 S# _1 T else6 K; A( b" Z, z( }/ m% s: @) R. d
{
0 ~2 Y" i' S0 j& e ) e9 |6 h) t+ y. p8 \& i& }
for(var i=objs.length-1;i>=0;i--) 4 k6 w3 t0 m; I
{
# R$ @3 j. W' w! S var node=objs.item(i); ( M3 V6 ? o Y. x9 z& W
: d% U% A# v& I) ]$ [8 |5 D2 A* x
( v+ k* V) t. g" ^4 g$ } if(this.getobjstyle(node,"display") == "none" ||2 {9 ?8 S( F5 m9 I# k: y
this.getobjstyle(node,"visibility") =="hidden" ||
& V: r4 h: V( \9 _ ^+ z. ^$ R0 A parseInt(this.getobjstyle(node,"font-size")) == 0)
, N; z- M6 _7 H" ~ P- F {+ v; M4 d- \4 A9 v: ?; N& X( h
if(debug)% g; \5 Y/ D0 @! x0 h
{: D/ ^7 ?: i9 u9 Z% |
alert("remove invisiable!");
' A* t; V) z9 \# V }# o \9 V$ c, y$ M, C$ w& q- o$ |2 ?/ [
node.parentNode.removeChild(node);" n0 }, i" J [
( r# i5 _5 w' a* x. v }2 k6 v, C; C/ F- u
else
1 D: ~) e$ D) v: H6 P6 C ` {/ o1 j( a- K$ A b$ [
if(node.parentNode)
+ d# K* e" e2 S% ` {6 X3 Y0 X+ f! B9 u
var orgNode=node;
; b$ E1 R& `0 J2 ] var orgColor=this.getobjstyle(orgNode,"color")7 v, z d+ Q Y+ X8 I! T m
var orgRGB=getRGB(orgColor); 2 n1 N/ p' Z. y; g
8 Y* c2 @$ i# g0 b7 c; r3 [
var parentNode=node.parentNode
% o, a2 q9 k% l. ] var parentBgColor=this.getobjstyle(parentNode,"background-color");
: U. e8 N t, w3 i& O2 g( J- B
, `5 b$ { a$ f! U var isLast=false; O5 {8 c3 V, y/ {; o) F, E4 F8 n" [7 A
% |4 C4 a0 `( g; M while(parentBgColor == "transparent") 2 M0 P8 g p0 e! f
{8 _$ v0 K3 o; s: R: d# y0 ^
& N* m* S6 m6 h0 T, p& l
& m, @: U7 q5 G
if(parentNode.parentNode == null)
2 j2 R4 C" q# `8 b/ p {
, T+ ]5 I" Z+ e- H3 w% x3 G+ _" j isLast=true;- Y \" y4 Q( Y% i( E
break;! F- Z4 n z7 G, ]! \# x Z
}
5 J. z: S, X( ^) J" ^/ |9 q$ Q parentNode=parentNode.parentNode;
6 v/ P7 |" g+ S parentBgColor=this.getobjstyle(parentNode,"background-color");
) b" ?+ u* K8 ^- u% b( v& w7 S. k& L+ ` E; ]) ]- i
if(parentBgColor != "transparent")
9 l# B0 F- a G, F3 U7 G( q$ k {
L! o4 Y2 ~4 F" @- f* _ break;/ Q5 `& `) V7 \9 ~9 T1 ~' T& n+ y
}7 |8 V* c8 P4 ~ f! z
}
2 M& s8 U4 F* x7 b3 ?+ p if(isLast) 9 W1 e3 H) |+ A
{& S, u" q" Z% }9 k
if(debug)
5 E5 R U* c! ^3 o' f/ G! A8 c {: w! T4 O" ^, f
alert("last!!");
7 z3 o' \: ?9 h+ r' z9 Y+ y2 J" I }7 R0 Q4 v. u, ~! O0 z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# h. f& k% N' A! P# H! [
{
4 L' E% M0 E0 H. A! Y& N orgNode.parentNode.removeChild(orgNode); : ~2 y3 m5 y( y
}
. r" m/ M9 Q+ [3 { }8 i% b1 ]; B9 @: O. K
else! r; O1 G5 w! {7 h4 f, \
{
9 c [5 b& Y( H2 z0 s: v8 M if(debug)) k" ~1 I! T" H3 b
{
! _7 [, k+ C; t6 @& a" ~% G5 Q alert("compare color and parent bgcolor!");/ _# y$ h# a7 D/ N' ?" V9 E! j
}
. m% b9 p, t9 v7 u# W5 Q8 I parentBgRGB=getRGB(parentBgColor);6 @+ X# L7 s/ G6 h$ a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 S y L. `& h5 @ {
2 d! F- A/ K4 \, h, a orgNode.parentNode.removeChild(orgNode); & M' Y- B" F7 J, E' G1 ?! Y
}' T7 q( ^ q( u; W9 M* i9 O; u0 U
}
3 M, ?. _4 C7 c: s }$ G9 I7 T) X. y5 P) r
}
5 t' d4 @3 K+ o6 C }( x7 S4 r0 x# ]) R0 F x$ Z& q
}; w) O. n- `+ P5 n) L
% L9 O7 w+ {. u! E
/ i2 A% G( |' i7 w. R: O9 g- R5 U
var itemFrames = page.getElementsByTagName("frame");6 _9 p; s+ B' M" H) O. x7 ~& B% a
var itemiFrames = page.getElementsByTagName("iframe");: U# n/ t2 J1 B3 C( x+ ?- G
* G+ N$ l# `, i! u. z8 B
var frame, iframe;
- Q+ r/ W, \$ t: W% I. H1 w if (itemFrames.length > 0): X7 X; A2 n7 |& b/ Q6 V
{
5 v3 W& Z4 C3 S+ I+ W, s/ f for (var i = 0 ; i< itemFrames.length ; i++) ; [" k6 @, l- U
{
6 V3 A2 n. r* `8 J1 v frame = itemFrames.contentDocument;4 e% d+ u. i! E" u
this.RemoveHide(frame,objname);
4 E$ S; ~6 |3 S" ], y }
% G8 Y- \% ?; I }; Q& l% c0 `$ d( p( y% Q7 h
if (itemiFrames.length > 0)
, u7 T3 x+ P2 p' Q8 z- Y2 n" B; } I2 W {
: B0 |( t8 n! d for (var i = 0 ; i < itemiFrames.length ; i++)
( w% _! y1 W0 D {, s' y9 f* J7 [( q9 ]
iframe = itemiFrames.contentDocument;
9 e( f2 ^- J( g6 I1 j8 k this.RemoveHide(iframe,objname); ; s* b' M* [+ M. T6 S1 a
} r9 B& ^& V# x! Y4 l4 q
}
) J( Q; `2 b) N) A, N9 H9 @ }' e# h* H' ~+ }( i6 o# i
catch(e)
7 U {* h @% _( x) m {
( _( b7 X% N F8 a1 i+ e if(debug). d" `4 C; S0 h2 N
{
# Z" }+ ]( k3 \ alert(e.message);5 N- Q( W9 T1 Y" }
}1 L4 c, V6 w' m2 D% P! O5 b
}7 v1 {% A) C+ E1 b! j
}
2 ? b0 m4 z4 X3 u1 P+ D- L6 G & u. B+ O0 { U
}0 c( s0 A4 x( P9 T6 o4 |% T
9 ?/ G# P$ t% e3 l
function getRGB(colorString)
& A* @9 _. H! w, `1 [4 \{9 Z! h' ?! l8 |4 j- y% {
var RGB = new Array;" V# t/ l C% ?& D. [5 l
var tempSting=colorString.substring(4,colorString.length-1);
8 i3 W% d5 z* V; ^# Y var tempArray=tempSting.split(",");
) n$ w1 ]: I+ R8 ^1 t% w! i7 I9 K3 d* m; L9 r; ^& @' x
RGB[0]=parseInt(tempArray[0]);
( S9 E* j6 c7 s" R RGB[1]=parseInt(tempArray[1]);
0 m! }4 |. U8 e" {: ?4 n RGB[2]=parseInt(tempArray[2]);
$ \* c( o' L% X) o7 q7 c& u
- k6 m( l; _6 h8 O) H return RGB;, B$ {0 y$ S# O/ d7 i1 g N9 i
}
6 `. ]# {; [7 \" G( `! qfunction keys(evt) W5 U1 o! D s% h$ S
{
+ h8 q6 X! `, R, m; ^1 u: b; | if(evt.ctrlKey && evt.keyCode=="81")
' ^9 V, J- B8 \+ f1 \1 R. K8 N; i/ ^2 K {
. Z; _1 ?( b) m# v$ c' @ CleanHideObj.on(0,1);
0 h, t/ t: \5 T9 ~5 o& }$ B( S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 {8 O2 d) z1 l, Z/ c% L
* \/ T+ v: W4 I0 W' Z6 @ } 9 Q n- d2 y8 o P* N6 O% I( I0 Y: J
} 4 X) Y2 k8 f# I
document.addEventListener('keydown', keys, false);
7 |! t5 R7 M M7 L' o, {- _7 FGM_registerMenuCommand ('Clean Hide',( W+ S+ ?$ k* {- q1 |$ W
function(e){9 {4 `8 d; c" H# h
CleanHideObj.on(0,1)# C1 _, k! c: _1 _& u& `. ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, S/ I+ J9 @. m) O8 e0 x7 O/ t
});% x) C) `' _9 Z7 P
|
评分
-
查看全部评分
|