|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : g7 b2 K. Y) h( {: S' }
; M. r, C# T# B6 r火狐插件,用猴子# D8 [+ b$ P& B' Q: {1 I
6 N! g2 n% T% U$ b C: H% fvar debug=false; - x' n* R2 K. R% B
var CleanHideObj=new CleanHideClass();
2 K3 w0 o6 y6 H" K6 D0 h: B' v; ~, B9 H }
function CleanHideClass()
8 f" j# F; C0 O% t8 Y7 ? L{ 8 k m7 T6 A% F- Z1 I K5 i
F! d) D2 s% b' R7 o' [
this.on=function(id,bMZ)
7 H. _6 R O4 M6 Z- C7 s2 H" m {8 {5 `) P4 A3 {
( _. [( }5 a9 [5 Q; ~1 a, ]9 g9 y if(id == 0)
/ p7 ]: y" F" @' f/ R: b' J {# ^* X; Z- n' ~7 s/ ~) o* m' h
var page=/* document.getElementById("content").contentDocument */document;
V/ U0 T. S7 l this.RemoveHide(page,"span");
6 F+ w& U5 g& N' h" M this.RemoveHide(page,"font");
: f( U) X9 S; _* u this.RemoveHide(page,"div");: F0 N1 M: _) S6 z
this.RemoveHide(page,"p");
7 A! U/ x; I, t- _4 _ ) `, h# u4 m' J3 Q2 Z- G
}1 F8 N; \6 m$ q
1 W3 S1 w( y e1 `
}) l, ^1 K+ M' ?, g0 F
this.getobjstyle=function(node,prop)
& z' t$ \3 A o( p# M3 u9 ^ {5 V1 [' b& [2 i, t
try' |/ G0 ~& X8 C, B0 ]
{
* V- S& Y3 ~( B9 s6 Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 g& N* [+ J' \. I$ I& O* @ }
; l' D$ [& V6 j; [6 z* p. k- N catch(e)& Q3 n/ l5 k# b3 l0 P# W
{
( B! [5 x' d4 T! m# I4 m9 B1 V" _ if(debug)- a2 U. _& M1 r7 g. T
{. R! \- o: [- T8 n1 A- ?
alert(e.message);
- m& p" w; `- J% q }
. z. ]" h3 t" J% }+ f % E% K; A' i3 S2 Q4 c, a
return "200";! m. C1 v2 ^/ w6 b3 ?2 ?
}
/ s5 M, U/ @# {3 ?! B1 {7 v }$ ?* q, L! W0 X* _3 w' a2 w
, f ~; W* [) g! O, n
this.RemoveHide=function(page,objname)
) L. J7 p# D' H2 r {
2 Q7 J. p m# p# x" W try
7 }$ W* A' g: z6 G* B$ O- r {
3 G" M! g. ?9 D0 J6 D4 t var minValue=15;
9 n4 ~$ K# d2 W9 q var objs=page.getElementsByTagName(objname); 7 `/ T8 T; z- R% D
% o& F" H s' G7 I/ p6 l! m2 D if(objs.length == 0)
/ c9 \' B r& N- ?2 m( S- ]! k {
, O/ z: ^* j' H2 |1 V! C if(debug)
& E4 E- h, s1 w' n {1 I" E+ P& `, b; a+ [. X$ Z. @5 ~
alert("no object found!:"+objname);
0 }2 c! P+ m. d: \. P }
* t; W' ~) u, w5 X9 U }
9 ^. }( X* Y1 m" H* X- P else1 b) Y" m7 B+ @9 }1 n8 p7 [
{
+ q1 ?" m# s2 U$ X 0 p8 I6 a! a _* [4 H/ r
for(var i=objs.length-1;i>=0;i--) : z6 W0 g7 ]& J8 b) I7 U
{: E. Y0 k: w" r2 V0 f
var node=objs.item(i);
$ E6 D- r6 U' i, I/ G6 l% k
. M% e7 j% [9 g. S3 G; K# e: x V
' `9 [- I' g: P+ S3 I if(this.getobjstyle(node,"display") == "none" ||
" P. o/ o% g G/ A4 V' [4 e this.getobjstyle(node,"visibility") =="hidden" ||
1 {1 W* O5 u7 ]! @ parseInt(this.getobjstyle(node,"font-size")) == 0) 4 H. `# t' U; W- W7 x
{
% L* b4 p/ U; ]' v3 Q if(debug)
) Z o7 T- O7 Y2 [ {
8 O& d% Z( ~0 E; ]3 u( h alert("remove invisiable!");0 B' m; ?( ]; K3 B
}
4 o) L* R. O+ y+ ? node.parentNode.removeChild(node);$ U. L3 x p! h, R" W) T
, \7 t0 j, t" n \2 h% s& y) f i
}
6 j; y" V$ N& h: S( g+ c$ b4 m% q$ _ else
! z3 [; V% A/ |) T {' P1 B. _/ z: s: V4 E3 i. F7 E5 n
if(node.parentNode)
* A* d2 w' ]8 f; D {
: A; M4 O8 v, @+ m: D- U var orgNode=node;4 R8 w3 }. u) e4 _$ J
var orgColor=this.getobjstyle(orgNode,"color")
% ?8 L# i* }5 A, l2 F6 u6 `7 B var orgRGB=getRGB(orgColor); $ P$ K% e/ R+ x) w3 X
Z9 i6 ~: Z9 w8 N: J var parentNode=node.parentNode2 G, ~ t/ o# D) l/ v/ R6 s
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 e, u# f3 x! R$ T
- v2 d* }, J3 \$ q$ K: u* r var isLast=false;
: P; p; }, r) W7 L : x% J0 b# I4 w, h( j/ Q5 a
while(parentBgColor == "transparent")
, n' _2 w( N4 Y9 J |, o5 V2 f {% R3 R0 N" Y1 M6 T/ Q* I) |3 Z6 {
! |2 F& D1 V: u9 D" f) q& }0 g 3 q. L( `0 M+ j! c0 Y
if(parentNode.parentNode == null)1 ^) ~% S6 I2 T$ y. m, C( j8 ?
{
- ? a E. |5 B7 J* ], r s isLast=true;
1 o3 u8 L% R: f3 b' x+ } break;
& J8 a9 W, n' l+ W4 r }
4 N7 E- Q! a- E7 K& a parentNode=parentNode.parentNode;) t3 e0 u6 j' L9 \4 B& |4 e f
parentBgColor=this.getobjstyle(parentNode,"background-color");0 L4 O! p$ _* I( z" r* E
* u6 D# J' g- b' w8 P) s
if(parentBgColor != "transparent")
4 B' I# {; w4 C( M: n {
' q a& |1 X% E; o3 N5 e% m break;# x* K! A4 ?: g- \% W
}
) N/ w" L- a( l( T& c8 T }0 Y7 \1 |, I+ B; \# X
if(isLast) 7 m$ i0 J4 }- z8 C* U/ D1 n
{! D" B: l" k% \
if(debug)" [+ p- r/ p* ]& h" u" X
{$ y& }, _) t9 E8 z- K; p
alert("last!!");
. ?1 t I+ C, y L- m3 X }
3 Z6 v1 c$ r# o6 T# Y" c# I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 ~0 C5 e: N0 o% T {
- D: n3 [* D+ A4 l orgNode.parentNode.removeChild(orgNode); 5 }9 W8 X9 q5 p+ l- f
}; D4 s) C# r: t' J% k3 {% J" r
} |# S+ |/ W8 _6 C7 t, F% l0 T6 n
else
9 q; c5 G8 q7 { {) W6 d& _& ?3 H( z4 l( u' i2 {: R
if(debug)
9 |9 S2 l r! ~( T) G3 C {
8 _6 l0 c2 t# z+ K alert("compare color and parent bgcolor!");
& V( K6 f8 K# F" | }
( m+ ^4 r9 Y( R: I8 V parentBgRGB=getRGB(parentBgColor);. f+ y# W# `0 i% a) u0 o* b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% |5 Q" n" p6 [' l. v4 w
{+ B7 K' @1 c; F+ K, g" t# [& |: g" N% j
orgNode.parentNode.removeChild(orgNode);
3 a- A1 n" H9 _2 ?! f }
) P$ E i m% r% l0 U* Z& j' s }
0 i9 F0 l+ F" g$ Z" X( [1 J" w* N }/ f, Y1 w; F1 v* a) C
}
3 k9 }; e+ n- ?1 n& g, r }& ~; o3 u! k- z1 |
}
1 z: O8 z- B& o 0 f9 X" I# U3 J, k0 \
4 C2 M3 R* V1 h) R5 u" n6 S var itemFrames = page.getElementsByTagName("frame");5 _; X* Z2 M; M1 h9 v' l7 i
var itemiFrames = page.getElementsByTagName("iframe");
0 N+ C+ L, c( D4 a0 ~
7 q8 n/ M# T* B8 T | var frame, iframe;
$ W/ B& [0 E; e2 ?& M' C9 a! O1 { if (itemFrames.length > 0)$ W5 p% q t5 _! N
{
% T0 V% t* |+ Z) m for (var i = 0 ; i< itemFrames.length ; i++) 9 y g0 J6 p4 h' P; n
{
) A/ f8 m9 X o6 j$ j+ W _ frame = itemFrames.contentDocument;
3 B) H0 h, C9 B0 u this.RemoveHide(frame,objname); ; p X7 k Z3 g
}# Q2 z; m; U2 K/ D8 B
}3 T2 _9 @+ U; E4 @+ _5 A- s
if (itemiFrames.length > 0)
; t5 j9 u; \! v3 x! P8 @ {, R5 s" a u: l# {
for (var i = 0 ; i < itemiFrames.length ; i++)
+ W( w1 i) X9 V# k2 y, F! C6 Y& ~ {
& }% a* |: s2 A3 Q iframe = itemiFrames.contentDocument;
- x3 K6 F, N5 B/ a8 C' [ this.RemoveHide(iframe,objname);
' e1 P% p; ]& u" I$ l4 Q }9 [2 {9 r# X& l8 {2 S& I) n
}
+ @% r! @, Q+ p. f9 ~; ? }
8 |6 R! _& i- g+ i# G( o2 w$ C catch(e)+ u' ~9 H4 B1 R) C) d
{" E& V# i- U' _1 Y/ u
if(debug)
2 D4 K$ ~! Z4 H* z {! |& t1 v' V3 t+ l9 P
alert(e.message);
* K# m, X. [9 m }. j% P0 |6 z& I, [0 k
}
* s/ q. u6 D6 ~% D5 c9 A4 E }* X5 F. d3 d9 R1 A' r1 |( l% i+ N/ b
( L9 I a0 K# s% ^% T
}
! J( C6 f F( z: E/ S+ `/ }1 l, n q3 L) W) h- K6 H9 @6 ]
function getRGB(colorString)% p0 `" o4 J* G
{
, i+ S$ }- q" v6 J8 |$ c( M; v5 o var RGB = new Array;
. C( L: S1 t. T; `! T var tempSting=colorString.substring(4,colorString.length-1);1 X0 @. c- h- }+ P& M
var tempArray=tempSting.split(",");
) n: C( Z- r3 ?2 M1 z5 ]1 P- A7 X" S4 b2 L1 @- m: q
RGB[0]=parseInt(tempArray[0]);( f& Z+ y# f7 N* q! p. c: J# ~$ {
RGB[1]=parseInt(tempArray[1]);
$ K) p; k( a; X6 ~ RGB[2]=parseInt(tempArray[2]);
( F- i* ?/ X G5 v. r3 q 1 k7 T, x: |3 b1 x8 J/ m
return RGB;
0 N \& Q9 Y9 P) H+ b: {}
1 {9 H+ ~; N( ], o l; ~+ bfunction keys(evt) 4 B* a$ o8 l6 F- X, L5 X& D7 L$ [
{ * Q" c8 U, @4 M% F. u; L7 T" U6 N4 r k
if(evt.ctrlKey && evt.keyCode=="81")
: ?. U8 Z) O6 G- ^3 u; t: N( Y { % m3 i) Q* M. r9 w% [
CleanHideObj.on(0,1);
8 b& Y" o9 t3 R" Q" l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% Q8 a% O1 p0 F* Y/ D& Y4 Q
$ \0 ~4 ]5 N* E5 L9 ]: O } + z4 U! H6 H' r
} + v4 U* U+ u3 y1 N
document.addEventListener('keydown', keys, false);
3 d9 _3 Q1 g* S# fGM_registerMenuCommand ('Clean Hide',) J- i! c* e& _2 X- |1 j' t
function(e){
6 ?) W# }0 R/ w B0 S+ u1 w% p. V1 R8 [CleanHideObj.on(0,1)) h# ?) q+ Q6 J/ [/ K7 N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 d5 s3 _, L! L% j" U3 h1 N9 I2 i7 [$ P
});
0 ^' p% n& c4 U3 v2 P+ ~5 v* ` |
评分
-
查看全部评分
|