|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' ?9 N9 n B! T' d" a$ L
- k5 A8 t5 A& ]: G0 u3 S% d: R% P火狐插件,用猴子+ m$ ^ O' |( Z- X$ \
' N! d: z- b. pvar debug=false; 4 ^8 _! l/ W* N# o( J
var CleanHideObj=new CleanHideClass();
5 N; I" r/ ?* z/ Q3 D
0 M1 V$ k: F- Y( Q. e, Hfunction CleanHideClass()
) e6 o) v& y& C{ " R' E( B; t8 S: r, T0 Y
" S5 U @ K2 [' j this.on=function(id,bMZ)/ w3 a" m+ j$ M$ c
{" K1 G4 T0 _, f) x# @" y
* n) u+ w1 N4 C, w8 J
if(id == 0)
4 W7 D! {# {" f+ d6 u }7 j; R8 I' X {
0 ]0 |. ~+ @% @4 B% ? o& C var page=/* document.getElementById("content").contentDocument */document;
8 Z# j1 H) B- K1 T: ^; R# `; L this.RemoveHide(page,"span");4 q* J, d* q. G& C1 T
this.RemoveHide(page,"font");# N) `8 ]# x2 Z+ g: Z% |6 h, p
this.RemoveHide(page,"div");( d. [! V, t8 B, B8 z6 m
this.RemoveHide(page,"p");2 _ }9 l9 I R5 G
: I) k3 b7 u- I' ^" r n
}6 Z$ s% f' y3 m) T
8 b J+ \- l. a3 r# {
}
% u& j9 G/ b, k" ^: w this.getobjstyle=function(node,prop): ]2 U9 U! N- T5 e+ C
{
) f* b, C0 L2 M try: W5 p( Z7 c% ~7 e: a
{
( d3 \4 D/ L; y8 S$ p$ x: W! G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 }/ r e: {- S$ J2 X3 ` }9 p" \1 k8 A8 \, h
catch(e)# D, }9 J# }$ U* H) B6 W
{
% H9 n. L6 X- [3 H- D X4 a( x/ w if(debug)$ u) w5 O) W4 S
{4 }; T% V: J# k0 B; ^: H2 e# N
alert(e.message);
% ^, T8 j! \# K- k6 s: s3 l7 v% y3 G }+ a& _, A2 [8 N
( {/ N* x0 c/ s2 B% |+ g return "200";
* G/ |+ I2 h5 T& W M- W9 i) p6 d }* q# O5 `4 @. K. e
}
; x. E& M# {% F7 P j; f& E, h# K8 W* ?
this.RemoveHide=function(page,objname)
; w$ F, E6 h8 a5 U$ S: a$ w {% |1 F- |, c0 e4 Y
try! m( w1 C0 i# {: {+ u/ t
{
$ b% g) N/ w# ] var minValue=15;
: [6 @( t* d0 X5 b! w. d# S var objs=page.getElementsByTagName(objname);
. P; G( L& ]8 [- _9 v
* j$ L1 f) a, n3 w+ x, B& Y if(objs.length == 0)
+ f5 w% h" Y) C3 H& O5 S, k! m1 s {
$ k. k* ^" Y2 u0 t3 ^ if(debug)
) ]8 i F/ I6 |0 @6 @$ ` C" E- p {# S L' {% [9 l$ s( d4 I) J/ u
alert("no object found!:"+objname);
# F+ T2 v+ ?) R/ D7 E }
* [* w4 G: l6 o/ g0 F+ ~( H }" j/ J" p; Z; s9 A) c* X
else
! t& z: I8 p2 y8 \1 T {' y f, c, t" n9 c8 @. O3 D
9 B! r4 B: i7 n7 S for(var i=objs.length-1;i>=0;i--) - }# C; J5 t- l4 A6 X f
{ O; s0 W6 n% U+ D0 H
var node=objs.item(i);
; R9 G# q* ]8 M8 X
$ E }) V0 Q* J# ]
: B. [$ G% g* }+ Y" n- Q& f if(this.getobjstyle(node,"display") == "none" ||& c& y; |! F9 |# a4 m& H- T: k
this.getobjstyle(node,"visibility") =="hidden" ||7 A; n# c# o5 i7 M& T0 R
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 B* V* f) B9 d4 u4 r2 B: @4 f {6 z' e$ n7 k T9 u; l2 I" ?
if(debug)+ g) V( K: O+ S" I
{
$ Z, A/ a! t' l6 R2 g( y alert("remove invisiable!");% y* c0 J* G& ~
}
6 F, C6 h4 }+ n, ?6 s: o) t node.parentNode.removeChild(node);% i+ C3 z8 p7 a3 q
3 Y" B3 \' w% K5 i# Z% R9 O- G }& a* `' u! [5 U7 b( P. h
else
2 f: B' H8 ?# u7 M3 A {
6 c4 n0 o/ r5 _ if(node.parentNode) 7 H) g! C2 h6 y" S% E5 w( N
{& E% R) z7 b0 x/ B
var orgNode=node;& F6 S' f2 |( {+ [
var orgColor=this.getobjstyle(orgNode,"color")5 z6 e7 j$ l+ u" W+ Q1 \
var orgRGB=getRGB(orgColor); $ o. w' R; ?: U. y/ p/ z; [- v; C7 r
* H$ q2 C2 c6 w var parentNode=node.parentNode
- x! k a4 j# `- d var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ X; S; \1 h X0 @; |" I W & m0 V7 ~- C7 t- Q! |
var isLast=false;
) e" m0 w6 G$ _1 p2 t# E
! m9 I# _+ L7 f) g" i9 j while(parentBgColor == "transparent")
# _' h; |5 _4 O% K5 _8 u* i {
, Z9 `) ]0 q, W) T
! x* q2 w) X1 C8 E6 P- ? : { N1 ], _( d
if(parentNode.parentNode == null)6 e4 C( J! s, y& z( W( f
{
R1 s9 F7 e' D6 d1 ~2 g; t isLast=true;
* ] D2 M9 g' N5 d* h break;6 i/ V4 ?" U6 N: ?) y. I7 q; z
}+ I+ S; U$ a% j- N6 o% n
parentNode=parentNode.parentNode;1 |2 M% C) _8 a* R
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 Q& d8 M" q( H% x) ?; y8 Z; V0 W' y
' @: K% [7 @( |/ n3 n8 i if(parentBgColor != "transparent")
8 g4 p: q1 Z$ ` {& H! c& f1 \. \1 f4 m- |
break;
2 h$ g- o& {% J& h1 t }, w W& ]5 K% ?+ y2 g
}1 b: |6 ]% `& ~- g4 m0 L& |. ~/ n" }
if(isLast)
1 e/ b0 w! a' C: Z" K6 k( E" r {/ {2 Z& A, q+ t3 K5 G) \
if(debug)
: h6 _0 O) Q2 c5 F2 e {
i! o2 O4 \ H$ S4 S' @ alert("last!!");# t; w& [, \; \8 c
}
' N# `2 k. [* P$ U- o) H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; _# `) y$ M% X {
' j% ~- {0 C9 K G8 C1 ]1 e* g# g orgNode.parentNode.removeChild(orgNode); + q/ {. I' J; D9 a3 A/ n7 B
}8 s8 }% d) M) K6 x
}
7 K- x( w4 O* Q; W- H else I6 v* o8 f# f w- [6 v
{
9 A" _0 _4 U9 h% j7 H' F" |: c if(debug)) `6 ]; o) |# ~- D8 [
{: a% \' o: u( e3 }% ^
alert("compare color and parent bgcolor!");
, D& {4 h) C- o+ S; ~; ~ }8 a3 Y r' h6 L% W& A
parentBgRGB=getRGB(parentBgColor);
' x- M. N! X/ E% l1 F3 o" b& n7 Y2 q6 ~; L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 G, ~% e' @$ C8 W8 v" t8 c9 J5 y {
4 B; A% T% c8 a- M# g orgNode.parentNode.removeChild(orgNode); 0 z% u( Y; a* ~. i& S- S8 f
}
# G( f9 E1 a+ b" q& ~# k0 b- N }. h# f, \. N4 f& ?6 T! g
}: |, p. j9 Y/ k) P/ u
}) o* l% K/ z4 _
}
- b* m! e" s8 u7 w }
% p+ O& t2 R. j: J! k0 m+ r
3 h3 N/ p0 k6 ~: G
7 N/ f7 g8 G$ t3 T var itemFrames = page.getElementsByTagName("frame");
7 L) I/ \7 _. J6 K7 F var itemiFrames = page.getElementsByTagName("iframe");2 I4 n! p3 |$ [8 {
% e+ I( Q q2 B5 s. g2 g; | var frame, iframe;
2 j. }8 O* x6 d" F5 s if (itemFrames.length > 0)
& y6 E/ ^ _( G {. a) u" O5 v' e5 M: N
for (var i = 0 ; i< itemFrames.length ; i++)
% B5 F8 O0 F5 b3 T i+ U8 c1 c {
- S7 L [9 J# L6 [9 \ frame = itemFrames.contentDocument;1 n. W' P' M! u$ x
this.RemoveHide(frame,objname);
1 T0 v2 Y' x. Q' T$ @ y }, b, h$ a( J2 T% c( q. e* x* C
}' [8 ?2 G: T% h5 d: }
if (itemiFrames.length > 0)3 u: J8 L* k% c# Z! F2 ^
{
3 q- X# Y* {6 z- d5 s for (var i = 0 ; i < itemiFrames.length ; i++) * }5 Z) E! l/ R" J* g
{6 a0 M1 c Z$ ^0 W: p3 f
iframe = itemiFrames.contentDocument;
* z0 `, n8 l/ n8 [4 W1 m$ ^ q this.RemoveHide(iframe,objname);
7 p1 y& n" l" z }
. e$ w# l( R, k( F1 O/ b/ N0 V }
8 f* I) A0 R, K }# p r2 t% m* r3 ^9 @
catch(e)
' ~1 ]. G1 `" f2 ?& z1 }0 x9 W {
1 w. i2 E: D- `6 D# O if(debug)8 i4 s; G, f8 N$ r
{
% f/ }/ E4 ]5 M0 E7 I alert(e.message);8 X8 ~! p% y& P* l& v2 A) [
}: T. `7 S' C# e# ^! a- X, n O
}
8 Y8 u, S% K" ] i }
9 m) B( k8 _, v: _: J8 {/ c
4 O+ T6 V! b7 T; W% J" Q F}4 Z \$ V6 _! ]9 s) }
6 G: o; z& l0 J0 [4 a
function getRGB(colorString)+ V* g7 r& s( t
{" T' y$ P$ S1 P2 [. W* l
var RGB = new Array;2 Z; \% Q# W) |( `8 |; B J9 k9 E
var tempSting=colorString.substring(4,colorString.length-1);
- N& s' L5 F5 _* ~: D {+ `3 D" K- x var tempArray=tempSting.split(",");
6 W3 A) {; u* G' {8 L& @5 i) l; j! i8 m& A* \
RGB[0]=parseInt(tempArray[0]);
( t6 H+ c& Y# C8 P# T5 H RGB[1]=parseInt(tempArray[1]);6 l8 g g" Z$ @, A( [# X3 z. h6 \
RGB[2]=parseInt(tempArray[2]);$ y9 p- q- @! d# {. i
) u% I7 b r% c, {+ ^8 s$ T
return RGB; [/ n0 w3 E4 g, n
} W/ n# q8 Q6 \; N+ h" O
function keys(evt)
8 c6 E2 x5 X. T5 L* Q6 A u {
. s: Z) A" m4 r; P3 C9 a- [ if(evt.ctrlKey && evt.keyCode=="81") $ z8 e1 d8 F) I) w. z
{ 1 M, [6 H& T Q
CleanHideObj.on(0,1);. N' T. X* v% Q2 i0 E, ~( R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 x- t! h! ?. S( h
% D) y! d) }) T" i( o/ U, b } ' [1 p9 t M1 E0 K
} + ?+ h) I6 G2 V# ~' k
document.addEventListener('keydown', keys, false);
6 q. G) h5 i+ SGM_registerMenuCommand ('Clean Hide',
1 Y: C1 q* Q# t4 Yfunction(e){! h& C4 d+ [8 A V6 i1 R" y$ O# F
CleanHideObj.on(0,1)
! j. s& J( [' x ]. k9 kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 T, y4 }* E& }0 Y$ W8 U
});8 C3 O% Q) F0 `% h2 V
|
评分
-
查看全部评分
|