|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 t: S3 n a- e$ L1 [( [, e0 W
) E+ v( M, T K0 P" y
火狐插件,用猴子
/ C* c0 [7 N8 v1 }" Q0 |6 t U" i4 S }! [' f
var debug=false;
) R& |, ~ h, g# V' q3 z. wvar CleanHideObj=new CleanHideClass();
$ Y) R' O7 N1 @* a1 v* }: @9 V" G+ ]; W- j1 z+ n: ~: ~
function CleanHideClass() 6 L/ v$ L$ D! @* [& K) Y# @3 t7 n
{ & g4 _5 V: N8 \) [. _7 v) n0 [7 c; A
! P3 [# ~$ M' V this.on=function(id,bMZ)! {! e6 ^ f2 f; W/ I9 s$ E7 X
{+ j$ T" R4 ^! K* c8 G
( q+ ^3 P$ o& w0 h! T" q+ a; Q# B if(id == 0)
1 U `7 h; g' H7 o; d9 |0 _2 ~ {# k, [& A8 G1 t8 W5 y$ k( n: ]; y( u
var page=/* document.getElementById("content").contentDocument */document; 7 P+ S& Q( ?" o8 `
this.RemoveHide(page,"span");
- L2 ?# _- u2 R; S9 z6 h& n/ `$ I this.RemoveHide(page,"font");/ U/ G$ a4 F9 D, S
this.RemoveHide(page,"div");
/ j, j" O, J+ {1 {' R this.RemoveHide(page,"p");
: M- B0 u7 e) Q8 o6 d- h( {
! L$ R$ ]7 V8 j3 Q0 f }) i1 _$ N! ~$ i l! h# w% {6 ~1 |1 j
$ J4 M6 S0 D* W" o1 ?4 v3 k
}
% W9 m3 y$ d4 w4 p this.getobjstyle=function(node,prop)
" `; f6 @& t& T9 M( A( A {
: J, y2 ?* _/ d1 x try9 v/ J3 f. g4 p3 O* T/ m
{& t$ o0 f; |) n$ c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ \. ?$ \5 e- x
}! V: Q3 o8 b3 ^
catch(e)
9 k& t6 t8 K5 h9 R# r' h) D* C {9 s8 P8 T1 y9 F/ j/ K# U" w' ~- H1 B+ D
if(debug)$ P9 w$ J. y& ?' T
{
0 E; L. E. b5 e$ [- \6 Y7 \# n alert(e.message);* h, l0 ~$ e& _% `. ^
}2 N/ s4 n% l1 M2 \6 H- R
0 X" [, H4 u0 y+ j- J return "200";
; w; _' B; r9 e0 ~# I }( Q c; }" @" A
}, n x7 c4 O" w b: C6 Y1 `
, v$ o7 T7 M) V# q! F' v: z9 X1 } this.RemoveHide=function(page,objname)
+ H6 c- I5 l- W t$ X0 E% _' ~ {5 Z1 c( ]/ T/ w _
try
( ?6 n8 y# m) E, Q6 m* O {
# G5 h; N% `# y9 \0 A1 ^ var minValue=15;0 k- s' P' p: s% w9 o a G
var objs=page.getElementsByTagName(objname);
( h+ u4 ~1 o# s9 Y3 q
" D& c# `9 K7 h4 g. N if(objs.length == 0) # f9 }% `7 g5 G2 n/ n6 j H1 m! _) R
{
% B5 a& i" b: b. C0 N5 S- w. Q if(debug)
C& c9 ~, }, d6 k0 Y {
: [- X! J3 h6 W) ?/ w5 A alert("no object found!:"+objname);
7 n: x- F q; u4 B }
2 @$ ~4 ~, n# \) M& f2 W }
3 A0 Y/ ^' ^$ z% Z. B5 s& Z, W else, Z2 U: M: D8 d4 `/ S: h! n
{
/ o8 S( p8 Z# c- }1 ] D* N3 b 6 @' q6 i6 o) K0 h9 p# C
for(var i=objs.length-1;i>=0;i--)
' w3 R3 F- |& l4 `/ k {4 I6 P4 b0 P: v Z( b
var node=objs.item(i); $ T: z" g& f& ]3 `1 a* d, L
+ _6 n0 O& v9 \: o1 s5 x
4 q' V% L4 C n* R8 ?: w6 @ if(this.getobjstyle(node,"display") == "none" ||
9 g/ m6 A4 C l' R$ q5 o this.getobjstyle(node,"visibility") =="hidden" ||. Z% W: x! L* Z; p9 h% Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
& b/ y \1 N, @ {
$ w; m h' j6 n7 m/ ?. a if(debug)
5 m' U3 {* n9 L! g8 z {9 q0 B3 g, O B
alert("remove invisiable!");
+ }; n1 \. ^. _* m }9 b# H0 R4 ~6 P) R6 C
node.parentNode.removeChild(node);; t$ e0 d _" @6 t
( l9 _9 L# m$ `2 ~6 W% Z9 A+ v
}+ t" d2 }4 K4 b# L% Q
else
7 K) O9 ?5 X: A2 b. b+ Y/ ?* _ {
. E' A. J1 {5 w8 t if(node.parentNode) $ [6 M6 {1 I- t
{
5 Y! v# I3 a9 [" M var orgNode=node;0 K( a& x8 z. ~; d# ?& C C( W
var orgColor=this.getobjstyle(orgNode,"color"); J2 ]% S2 X3 k1 C( I- w5 h
var orgRGB=getRGB(orgColor); + R1 u" S0 [/ e4 t: c% ^
) c$ F9 ~4 p# a$ z' k var parentNode=node.parentNode6 J- w" o* l0 m6 u* _
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* N1 R, J- b: S2 r6 a" L4 |
% ]( @9 V- g, M3 E# S' ^ var isLast=false;
$ t4 L, G% `( s$ q2 H1 A4 k 0 b5 G1 p% W0 U8 ^& k0 Q+ f
while(parentBgColor == "transparent") ) s* A" r; f; w2 P' o! v
{
2 Y: F& |* q. v6 M$ t T 2 _9 Y) I& L$ j/ j" L4 D
* }1 A: u2 F# L$ y! U if(parentNode.parentNode == null)! E1 d* c6 y! m- N
{
* S! \% }# Z9 {; } isLast=true;
* J- z2 M! t5 d0 l9 q break;* n4 X0 H7 K3 g
}
7 s6 h3 J* E$ _6 n' S parentNode=parentNode.parentNode;5 b" v& M3 t, G" O' b
parentBgColor=this.getobjstyle(parentNode,"background-color");
. D8 ?, M! p/ k7 V$ S g
1 z, l5 _+ Z; q$ ?. Y5 g# U; _% Z if(parentBgColor != "transparent")
- t2 f8 G$ [# ] {
; F* ]8 t% A) l( x9 m5 K6 U& Y break;
. z* S; i2 Q: J7 ?- y6 C }
: f. q3 ]5 h1 O }
: ~& l. H+ u1 t9 H2 p: Z if(isLast) : U0 ~ g" ^3 L$ K8 {
{: ] u5 E+ Q# j3 Y9 G6 ^& U2 e0 {
if(debug)8 K* C3 O; [$ L' \4 ~
{5 S' f' B! K6 f% l8 Q7 U) B
alert("last!!");
1 }# q1 L+ {* A. {; P }
+ l1 \$ G, O5 h6 Q& x8 w9 f* \! C if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' B( K& c$ `/ |/ t
{1 G7 g( ]$ t) p8 I
orgNode.parentNode.removeChild(orgNode); & P8 @2 i4 p, ~
}/ S" R% ^5 m" x) {0 x A
}
% p. a. M" Z- _3 F else
# z7 e3 T, f9 e8 K {
* [1 Z' }3 b- L/ l1 ? if(debug)
0 \3 i N k; ~. G+ s {- k1 I9 I+ \: e; L' o4 W" [
alert("compare color and parent bgcolor!");6 s- c. `6 T; K. S5 U" D
}
1 r* D u; V2 o" q parentBgRGB=getRGB(parentBgColor);
* {8 I' p2 U3 w. [6 L, A; G if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
}. o5 L; J2 c {9 z1 V$ G9 A2 K7 M; ~
orgNode.parentNode.removeChild(orgNode);
; X: m) }* |7 H5 I4 W: @1 u }9 Y% W3 i9 i5 c6 \
}0 K, a( L. J5 {( j/ E5 r
}/ E/ J; p: s( ~3 ]) b5 S& f
}- ?$ z5 P7 X: i+ i3 c
}
4 R- H7 }7 |, o3 O } f7 v) Y" X+ E, Z
8 l) S4 x; j4 A: o1 v
( a+ O7 `+ ~9 p' Z% V var itemFrames = page.getElementsByTagName("frame");4 T8 f* r( S: i6 M1 b+ A4 E6 V1 M
var itemiFrames = page.getElementsByTagName("iframe");
Z* y: ^, l7 e, y6 e
. Q3 o5 _$ U- D* b _3 a var frame, iframe;
, j1 `, e8 y+ G) ~+ f0 z if (itemFrames.length > 0)6 U) q6 ^/ f* n- q) \
{
; s% z% ?9 K) {! p! L5 g for (var i = 0 ; i< itemFrames.length ; i++)
# }) z. `$ W) v3 s" S {
" W# V- t! f( O& O frame = itemFrames.contentDocument;1 Q7 p: W8 K8 q- G, m3 y% ~
this.RemoveHide(frame,objname);
' P# K" y" [% ]/ C. B }8 }) u) g; k s
}% J5 B+ W+ c5 s+ l' L& f% u
if (itemiFrames.length > 0)
. L( Z* y# o g; u) M' @8 a* N2 c9 z {: D% N& }4 i0 b( g5 o5 N4 L$ u! A) S1 ~- b
for (var i = 0 ; i < itemiFrames.length ; i++)
- x+ u5 }7 j5 Y. }6 c: l {# u0 i F& `5 `
iframe = itemiFrames.contentDocument;: m1 B v# S7 \' e6 d
this.RemoveHide(iframe,objname);
9 g/ I1 |" }+ t' } }
# H8 x4 y8 }4 s; r" h }
; v. v5 Z& b$ _- i0 ]% S) P4 \ }+ `+ l4 O. J6 S6 W" x' W
catch(e)
% U& u: j% ]3 I! A: M {
) Z$ S) |" j2 i4 l$ `$ O+ \, \3 k2 G if(debug)- w: ]0 o, \8 O9 I3 F" r
{; c+ P* I, f- K
alert(e.message);
. w7 z% L2 c8 E# U2 S# X }
! }$ P1 Q: P- ?. O% X# W* G5 N; y }
: t1 |$ o/ ?5 d( h H m) u }
o" r) g8 C( ~: ]5 W' y n
O+ m, l; ]2 a) X& R: p$ p}
- l( Z" S/ C! O, V8 c Y
* X; u$ B, b9 g; @function getRGB(colorString)
7 r7 d: j4 [7 s8 t4 ]! y{: V5 M3 W& O3 p* T/ F) k
var RGB = new Array;
0 _+ W T$ y2 z5 y var tempSting=colorString.substring(4,colorString.length-1);" k: J: `% z- Z: r! ^) K
var tempArray=tempSting.split(",");# N6 ~( b% c& a# ?% H
: ?4 J6 c. |& v; [
RGB[0]=parseInt(tempArray[0]);! ~; }4 H% q) P
RGB[1]=parseInt(tempArray[1]);
. T f: s8 K6 v x RGB[2]=parseInt(tempArray[2]);
5 D, s: z) a: I0 B $ G6 ]: I/ f( K5 }; R6 T I
return RGB;
! }4 n0 |4 q8 b. D0 Q}& I! }( M6 A& O6 b- J! c
function keys(evt)
% d0 \/ d3 h3 Q8 u$ ]7 a, m { 4 T5 c; |- e& @" u; F! i3 I
if(evt.ctrlKey && evt.keyCode=="81") / r; n6 z, a7 U+ C8 f, n: D9 B
{
1 y/ G5 B* V6 W4 @ @" s4 K( F CleanHideObj.on(0,1);
0 L3 q8 V. o- B) y# s alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # w3 p5 X {3 |7 x
; a- x2 O& n# J3 Q& r) L }
5 c9 @' }0 _1 `8 N+ ~0 Q }
% M. [2 ?& P0 o/ |( Q' S# ldocument.addEventListener('keydown', keys, false);
* n% A8 c! O& l7 bGM_registerMenuCommand ('Clean Hide',
/ s6 o$ s6 o# wfunction(e){3 @6 G) w$ z, T: d
CleanHideObj.on(0,1)
2 Z/ Q) q9 ^4 Y# u% Z# @9 Palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# Q# W# z5 |5 ]) x
});
' C2 t9 z8 N/ D2 Q |
评分
-
查看全部评分
|