|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" d$ x3 T, Z% `, H( K! z& b* r; z. X- I- _" u
火狐插件,用猴子
/ q( t+ j- m9 r' F9 N; ~5 g j9 f/ E" P- m
var debug=false;
i0 [7 R$ b3 `- C+ I1 K4 I& v8 dvar CleanHideObj=new CleanHideClass();' V9 h, @0 V3 V, e% s& v$ N9 b
3 L) {# w/ G. K# V& g/ }) _: qfunction CleanHideClass()
. B. s& Y" ~7 S/ V, g. B$ m{ 0 X {# @' Y' m2 n6 l& C7 f( s
" y; }2 F- N* w$ \8 G6 |
this.on=function(id,bMZ)6 d5 M6 C! c& M8 k3 r& R( T/ M
{
1 v0 O j( X1 L: w, m( s * k1 }! Z0 L; S& N! X/ e1 F% j
if(id == 0)
. m* W9 C% ~6 J% @ {
9 f" \5 y! ~: B9 I var page=/* document.getElementById("content").contentDocument */document; ( Z! O3 R9 K- q/ T6 D/ |; _9 t
this.RemoveHide(page,"span");; z' `9 i G6 K8 y% Q- q% d
this.RemoveHide(page,"font");/ c3 m. J6 W0 x: _
this.RemoveHide(page,"div");
% A" ]+ x4 J) Y3 V1 N this.RemoveHide(page,"p");1 l( y8 `0 X5 J, e) S6 J/ X. C1 ^( w% N
2 C, @( z( K7 Y7 O } F$ F3 X2 g- R6 Y: l$ w% W* x- w
/ {5 l9 a" c+ ^% q& R }
3 m( d# e6 ^$ o) y K6 r this.getobjstyle=function(node,prop)
. y6 U% |3 c) ] {
+ _, M- G$ c5 N3 L try
5 _# l3 a$ W0 k" K3 W( ^+ L {& `( r0 C3 f5 ?* y* q' w3 C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 X# P, K0 B5 h5 ]/ |8 q }; s3 v; ~2 ]1 t: @
catch(e)
" t6 }% x0 I5 y1 m$ }+ R {
. ]9 R; A- m9 o$ t if(debug)0 N; a% D! c& ]1 A6 ^
{
4 \& }2 `0 k6 t. O alert(e.message);
+ A) c5 ]9 p& R0 Y+ b6 s; h" v }6 w$ A+ l6 x2 i+ {
7 H D7 o- P/ _5 j
return "200";
7 d% ~ [8 F6 l1 K u3 O& ^ }1 b7 U- i, y$ A L7 `6 Z
}
7 K- ?6 N {5 G7 Z7 g: ^: n ~1 t! x0 z9 n9 I7 `) |4 n
this.RemoveHide=function(page,objname)
2 R; v8 ]. [& E: z( d: ` {
+ g" b5 c0 }* [; U8 e: \$ U try& R$ w [5 f" X! u7 A: J* ~" t
{7 {0 }' K+ }5 k7 L- n# @" t
var minValue=15;* F5 W' i5 q$ H+ d+ F
var objs=page.getElementsByTagName(objname);
$ f* n9 U; }' I* U: m- [; ]7 p5 ?8 f5 C# ~- s
if(objs.length == 0) 5 L$ F! ?3 Z4 ]" s8 a' @" p
{
6 z2 z T4 J2 D n$ j$ A8 F if(debug) O% M' Z7 g6 E, h; O
{$ v1 a: w! k# j! e3 n
alert("no object found!:"+objname);
2 ]8 I: D( Z$ E8 h$ \* x3 p+ T }
. P) S' r6 F" K5 F3 v- T _" Z% m }
5 y& }- J8 T% ~) m# Z5 x else. b- I# ?5 y% w$ Y0 [# g
{8 e! u' d5 q% `9 D8 B: F
, W& ?$ ?' L4 o( O( T3 h% a* _
for(var i=objs.length-1;i>=0;i--)
# D& Z @" v1 Z: p {
; _2 s) X. f/ s% f1 A var node=objs.item(i); 0 I" e# ^1 l8 u& R
3 S6 ?; _9 {# _1 J2 Y0 B8 h* Q
: g4 L& k$ c9 [. t+ F; c
if(this.getobjstyle(node,"display") == "none" ||
: ?9 ]+ R+ h' p" {; K/ e this.getobjstyle(node,"visibility") =="hidden" ||
3 n8 \6 p1 n) Q% e# V; d# S3 ] parseInt(this.getobjstyle(node,"font-size")) == 0) ( v' }$ c2 w) n. Y0 p* w
{* G" {. I; D$ A; u& s Y
if(debug)
, _, `& x$ K% i) g5 D$ _7 B& E {
- B9 k0 \- H2 v4 Q% E" d( q. e alert("remove invisiable!");7 a& n! {$ b d! Z! {
}
% w' `- \+ z+ N node.parentNode.removeChild(node);# T3 a8 ~9 g3 j6 y! @
! E, J) g$ D8 d4 D" y0 t }
6 e1 y: Q2 e w3 l1 h) Q, c) S else 8 Q/ }: t) ^) @ R8 Z) u
{: M- \ ]4 T) C7 K ]1 r5 r3 l
if(node.parentNode) : N% |1 |# U/ E A1 x" g
{; }; d" O0 q) C4 ~
var orgNode=node;
- ~2 D+ V, K# I+ f V& f5 \ var orgColor=this.getobjstyle(orgNode,"color")- V; Y4 u7 c' M: b' z4 {
var orgRGB=getRGB(orgColor);
7 e0 i8 O( f. [& w2 R6 W ; q0 w$ Z I o g T
var parentNode=node.parentNode/ h# |, B( ~1 z3 _3 X
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 P3 |: S9 G" T Z( {3 W. t5 i5 v / T+ }. g/ C7 ?! H& x
var isLast=false;! _+ ^- u) A2 |9 }0 t
) a2 K/ d8 l& F
while(parentBgColor == "transparent") + @* [4 @% g+ s2 e* E p7 {
{/ r/ Y6 e9 a& O1 Y0 f
1 A- ~8 c' p4 W2 T
4 d9 ~8 e. T' G# d: H! D: v- M if(parentNode.parentNode == null)
{. @- \4 ]% X+ e9 O {: Z! `9 ?. `4 M; X/ y& h0 [" P4 g$ u+ S
isLast=true;8 K6 f- O1 |- W4 @+ x4 v$ t
break;4 n. F( ]5 `/ o
}
1 |/ n+ }, f, k# ] parentNode=parentNode.parentNode;
1 w$ k" I0 g, p& F4 [! Y parentBgColor=this.getobjstyle(parentNode,"background-color");+ T: H/ Z! ^# W# V5 u" c |
7 P% b, T$ \% O8 t7 R if(parentBgColor != "transparent")
0 n) n1 Q3 }2 q# U# c% R, { {
- L+ D% P8 [" V2 o break;
+ K3 l- s3 c, o }
1 I: }$ L ?2 s9 G6 P7 x3 W }
! Q0 S) D3 f9 S: T if(isLast)
/ j! ^# \+ D2 H {7 l$ m1 E$ q+ k% o; M2 C+ H) K5 ], l9 M
if(debug)
+ z- D1 L# s, ^' b" T {
% k7 F; H, c- G2 z5 W* H alert("last!!");
$ H) m5 G8 K+ `! d }
# L3 B6 Z9 Q! ~% ~5 | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& s" R1 d" z- I" S. M) A {5 k& V7 ?& f: l3 I2 k- B" X
orgNode.parentNode.removeChild(orgNode);
# q; w% V) L% X* F# _ }0 Q/ v! N/ a0 n) }
}
; S9 z+ T. }4 ?+ z else
7 m8 n* a/ x! P) I# }! a {% \4 X% _+ J$ `) U' T
if(debug)
& M6 o0 t, H( l4 F1 |1 _' a9 O4 S {; }" j: J% k9 \5 T* E
alert("compare color and parent bgcolor!");3 _% N6 ]& J. A) j$ W" Q
}% ]- b7 _* X6 D$ C" V2 W
parentBgRGB=getRGB(parentBgColor);
& K2 O. h4 L; F8 @; y) _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 p) d/ R+ j. i# [ y# H. |$ F' d {
' _; z4 \2 Z4 z, E" b# o orgNode.parentNode.removeChild(orgNode);
) n* a' T# K6 O }) J+ f, V; D% z l
}
3 i0 V. V$ [7 K& S, U6 [ }9 L7 M; h# B' h: ~) Q* x+ H9 S
}) A" m! M6 V1 v0 `5 z% ^; H. K
}
' p( W' h* `1 M. X2 U; C. u F% a }
: a! w; T y% r% Z6 n
3 M/ s: \2 u6 [5 I4 P
& ^! Y5 f- Q- X1 d$ B: H var itemFrames = page.getElementsByTagName("frame");
{* L; s/ V+ i& z var itemiFrames = page.getElementsByTagName("iframe");9 ~, g3 Y. x8 O" d0 p
p. {) w; [! i
var frame, iframe;2 c! i5 i' H8 |1 E
if (itemFrames.length > 0)
2 q1 \( e! A @8 P {* Y. L% V2 ?- M
for (var i = 0 ; i< itemFrames.length ; i++) 0 t$ G$ [( N0 R# p+ {
{
* @: K9 }8 n( b# I9 Q) I frame = itemFrames.contentDocument;
# G& Z s! ]1 | this.RemoveHide(frame,objname); / v+ \- ]0 Q6 M8 R# [' z9 ^
}( N- v, B/ W( Y
}% Q& a# k! _9 m0 Z
if (itemiFrames.length > 0)# j8 P. S9 e' F3 B% O
{1 G3 e# ~2 d9 b% G% t
for (var i = 0 ; i < itemiFrames.length ; i++) % k/ @' `5 Z( z4 J5 r5 a) j! g& I
{! x& d* m: Q5 z" o4 M# g
iframe = itemiFrames.contentDocument;; B4 e. G& v; r
this.RemoveHide(iframe,objname); 7 H: W8 a' o8 u0 Q8 v
}
, _4 P j+ i! C2 C5 ` }
7 d% N5 d, B' Z$ }8 v }2 {7 p7 g) A1 ]/ C
catch(e)
6 X1 R& r" y7 S+ L% o; _0 r* B {$ ^1 t9 W. f3 n
if(debug)6 m) j3 x7 b4 x0 Q4 E* p2 j
{
8 T( l- O6 {# h# b, j, X: P3 \* q alert(e.message);# e& a1 c% e+ V& D% e5 H
}6 J; c5 D0 _2 d' i* `
}6 d m8 R+ W9 f5 J+ S2 b
}
1 R# M% ~$ t5 f8 v 4 s6 t0 h" e2 F! R7 @+ n8 {
}
, x" V" r6 [5 d+ m% ]! H, L/ b$ ?0 {
function getRGB(colorString)( t& n4 L" V5 L" A8 v4 g
{
+ \7 e; v' d1 U( a var RGB = new Array;
' Z' R/ \, m' A' n& m8 | var tempSting=colorString.substring(4,colorString.length-1);
% H; k3 _' s' g1 `; R var tempArray=tempSting.split(",");
' [. S9 y0 V+ A' S
4 V" x+ H4 U& R" ~ c RGB[0]=parseInt(tempArray[0]);# O L8 J% q/ x/ U4 H2 L; P6 h5 J
RGB[1]=parseInt(tempArray[1]);
4 X$ a0 Z' D6 E- k, R' F- d RGB[2]=parseInt(tempArray[2]);
7 s" O! H& h% z* B! y8 A9 x
7 m m! L$ D' n; g' T, z C1 L9 V return RGB;
- ]% `( g! {! Z7 ^- R}
3 E H/ ?! W4 {! i1 b4 Efunction keys(evt) 2 V6 P8 o5 U, \: F7 ~
{ 9 M/ ]$ [7 w; ^" N- Y ^( G5 x
if(evt.ctrlKey && evt.keyCode=="81") P* z! N7 ?0 c! i0 l' x- ^
{
$ i" W( k5 y9 r" l7 ? CleanHideObj.on(0,1);
5 N6 P5 N2 A) p( x+ w, m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ S% N8 v; h4 R, X7 [' W
) [3 H9 e; j, F% C }
2 h1 [# [" l7 L3 m, g }
6 O# Y9 F" H2 ]. E Zdocument.addEventListener('keydown', keys, false);
E$ F8 b$ ^ ^GM_registerMenuCommand ('Clean Hide',. k+ w8 @/ k) q% L% i4 _, {
function(e){
+ m/ {( {8 b9 h- X0 vCleanHideObj.on(0,1)
: Q+ @8 i- C" s- T' Z* xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! R( s& A* Y' `$ x9 J});, Y. u3 K( d; h
|
评分
-
查看全部评分
|