|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) I! t z& y( J {& g( d( d1 }1 |$ @' n4 c
火狐插件,用猴子; s3 K% N5 L& a4 @* J
2 Z. p9 F4 M* zvar debug=false; " X- S' S+ d" t6 f9 a7 `4 y
var CleanHideObj=new CleanHideClass();
% j0 L5 r0 x7 L" S6 i* W( f4 t" j* I3 U4 e/ I0 W
function CleanHideClass()
4 c, `* K; K1 ?8 ^{
7 D$ |6 f8 f1 R# i
/ [, K5 w& T" q1 O this.on=function(id,bMZ)
S6 T9 N3 p% f5 p; w8 u6 r {( e Q5 F/ Y) k: r f; h1 o5 j
, E' F Q8 i6 t0 m( L8 ?; R. L
if(id == 0)
7 y, i( J0 i, p: S: V' g6 r {
& n$ W5 m1 S- u( \' @- F var page=/* document.getElementById("content").contentDocument */document; 4 b2 v; T! r* q: O8 B2 \
this.RemoveHide(page,"span");& S7 }1 Z l+ Z i9 n* S' n) S
this.RemoveHide(page,"font");
( y. ~/ z* R$ r1 k, o this.RemoveHide(page,"div");$ A6 w; v) J' l9 R& h
this.RemoveHide(page,"p");
+ @" e* h1 ^ C5 H/ ?% z: r' p5 I" ?
% M6 [4 e7 m9 j6 C3 s& E1 g }
8 v* x, h% i; L) }, W/ X
& V; d1 K9 Y4 A* }4 H+ G }
. f, @+ E: b' e3 \ this.getobjstyle=function(node,prop): m# }$ I% n* M/ z' g
{. A# {7 L6 v9 g* {/ D6 l4 c
try
8 K s2 V) y' U1 n+ @" ] {9 e% p0 ]$ q, s2 e" L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ n* ~# o, p6 v, L# M4 H# w
}
+ c8 Q: j/ O% Z, f b' g7 S, Y catch(e)
$ Q0 u* D: ?! U {
) R0 z f0 L7 I y& b! d4 N7 T if(debug)
1 z* X, S3 L4 l5 N' I3 b& J) z$ G {
* E d- R; D% Y4 E' ^/ J- Q8 N alert(e.message);
% ]5 U) K# k1 t9 E }4 h/ }2 u! ^5 D& Q6 _. k6 k! E
0 [7 `2 w5 E9 Z
return "200";) Y8 I, B; r; p6 @; ^, I7 I
}
3 E; I/ ]; @; t) H/ c }
3 j9 N; O2 O7 a, {5 p& X- R7 U, R& R % T5 a7 x$ }, |5 P" k0 c& L3 c
this.RemoveHide=function(page,objname)7 o- ~8 G; @! O9 @6 r
{
2 t6 V* e$ Y6 G0 L$ `4 C7 e f try
' j' m5 W$ u5 v7 j+ h {' v& \+ H& [& f c
var minValue=15;7 R4 V; f& _9 z: j5 f( D2 R7 ?' O- Q
var objs=page.getElementsByTagName(objname); " D F$ J/ U" w9 \3 i% M6 R
7 G# b/ F$ E0 m8 k7 w4 C* d
if(objs.length == 0) - S' M* m* N% o! e
{+ Q/ N, O& f5 e, }7 e7 b0 b2 {! H
if(debug)/ a" g) i$ g/ z( B9 {! j
{+ h7 ?- x2 w0 [! \7 H; l. \4 U
alert("no object found!:"+objname);
% H7 x. w, c" W$ f* C& v }
5 \/ ? s" z& k+ G7 x( o: z8 J) q }
& B9 s" s5 ~0 |6 O7 q else
8 Y( C: q5 m) H5 E! M4 Y6 U {8 _6 @: E/ l. ]: q9 O+ e3 D5 ]
, [/ u. H3 B) Q for(var i=objs.length-1;i>=0;i--) * }& v, m1 C/ ^
{$ Z" q& q& R4 Z5 C* i$ @1 R p
var node=objs.item(i); ; a, h$ w, _# _" [* W( b
" Z2 ~+ @6 h0 J' ?) s" Z- C0 Z& b! z+ p
* @( x0 W v& D' V if(this.getobjstyle(node,"display") == "none" ||
2 V: W. x P s this.getobjstyle(node,"visibility") =="hidden" ||! [0 K; Q+ n+ }* b' _3 n5 P9 y
parseInt(this.getobjstyle(node,"font-size")) == 0) . i( i4 V) \: y$ ~" i' {
{
- K0 G$ @ Q% G5 O2 f5 V8 \5 [ if(debug)0 K- ]9 I$ M- i
{0 A0 E0 D, I+ ?
alert("remove invisiable!");# ?5 V- N- J$ `1 c3 J& K( T
}
2 Y* ~* |/ K$ T node.parentNode.removeChild(node);! { i. f4 ^' v6 p, x% P
( O$ o3 R/ o; X }6 m7 g7 Y' M4 q8 T/ U) ^6 B; Z
else
( s- B8 Q. ?( E) ^5 R {
! J! p, {* K( v7 ], ?3 Y if(node.parentNode) , A% R8 `* Z9 q4 o
{4 J( X8 g* D8 {% v* z
var orgNode=node;
- D" \1 d9 q3 m8 S. W var orgColor=this.getobjstyle(orgNode,"color")
" y$ w0 q9 ` ] var orgRGB=getRGB(orgColor);
% w" r& M( y% ~. J1 v2 } - W# r, q L5 J* v* i- @
var parentNode=node.parentNode u g9 F# }8 G: K
var parentBgColor=this.getobjstyle(parentNode,"background-color");: e" M- X( l4 n% B" I, p
* L& _' z7 |. }' Y var isLast=false;( }. I; E( x$ W$ R1 C; y% S9 l
" [& m1 @6 O' c% J
while(parentBgColor == "transparent") * Q1 ^! }! E8 j: ?; |8 S
{
5 N* X3 u1 B( f. n0 A3 Z1 v* I + @0 `) }4 `' }7 f9 ~9 ^+ {! P5 A4 Y V
1 ]+ k2 Q' {9 N0 t& I1 R8 K2 n9 k if(parentNode.parentNode == null)9 T7 A5 ], B* m7 m
{9 |: @: e( E7 C8 o$ B
isLast=true;& n: a% b& g J) q+ o2 X8 P/ e
break;; y2 m; b8 K( A _, G
}
1 E7 P) O$ ?, f parentNode=parentNode.parentNode;
0 n8 v1 e) o: | parentBgColor=this.getobjstyle(parentNode,"background-color");
( V X3 D1 q& D" E2 h% s+ K8 W* h# n) [
if(parentBgColor != "transparent") - ~8 `9 R9 f) `, A! P# @, o
{1 F2 b) S6 g. E+ c9 j, A
break;( l6 m1 I: f# n M' B0 @9 C
}
& F/ E2 @- G7 x) j/ x4 k4 D1 E( _ }4 f+ x; k$ F" e) K) ^
if(isLast)
( C m. {, C( S. U6 I, n0 a {
) _( ?$ y. v, w6 V: L! U- m) x if(debug)
9 | E+ V7 s& Z {
" A) q0 s0 W* n; Y alert("last!!");
1 W3 \! b& s' p1 E4 ~ }
2 \0 u6 N' Y+ u( l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# @# @( K# ?3 A+ J" r {8 i) c! ~3 ~1 ~1 X
orgNode.parentNode.removeChild(orgNode); ( ~& `" Y- u' F" Z
}
, \0 O. j g; |7 f }
2 H" k: f. L5 `! x8 d9 ` else$ _( g% I6 j' j5 ]: z+ }
{
1 Y4 w0 J7 U' Q1 G if(debug)1 V. Z9 B6 R/ r: f# x$ ]8 F
{
- W$ e: \$ T, B/ i$ q6 N; W alert("compare color and parent bgcolor!");( m6 Q7 B, F% K1 \
}
; q0 K! g. k+ Q5 V" T parentBgRGB=getRGB(parentBgColor);3 O$ s3 D* Q2 ?; N T' a7 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 @$ ~* n2 l& D; W {& c$ X1 j1 ~' C. g& W. t% a
orgNode.parentNode.removeChild(orgNode); 5 S9 G! ~( }. U' `$ Z( I
}
& {& D. U3 c( K; B }' l3 [8 l+ C' { X9 m
}9 j$ y, P# J$ j4 E7 ?: ]" j
}
" ^- D I) f8 o" x }
) K @0 K: i0 S9 T }
' X3 N4 c5 F) i+ C 1 V7 A! T n8 l7 O! k
. j: X/ n! S$ @' D, L) @; X2 D7 F; Y var itemFrames = page.getElementsByTagName("frame");
4 d: ]+ `8 q6 t var itemiFrames = page.getElementsByTagName("iframe");! Y9 g. _" f7 ~1 ~) L( u1 a9 c! E
- m: ~8 e, {, C+ p( Y" z/ W, g
var frame, iframe;, Z9 E; N5 c5 j0 T
if (itemFrames.length > 0)
) [: o* |7 e: |9 H {+ R0 R" Z% b' F% P
for (var i = 0 ; i< itemFrames.length ; i++)
( w3 V) P; l7 h \8 _% h3 @ {
. Y' p1 E8 g5 ^- B# b7 n frame = itemFrames.contentDocument;" K) }9 ~0 l1 }7 N
this.RemoveHide(frame,objname); ) n7 } J# n9 a3 W# J
}6 \ m% a& o- |2 Q7 h1 h
}, Q/ b0 N! V# F, J% o
if (itemiFrames.length > 0) k# H4 Z7 r0 t1 f; A; w0 U9 p* }
{
) [* t) p7 N! `) Z! b for (var i = 0 ; i < itemiFrames.length ; i++)
8 S: Y6 e1 ]: r7 y {6 Q# @8 F; t& ~5 S' _* ?
iframe = itemiFrames.contentDocument;! A8 j' {+ o7 S: u# ]+ v
this.RemoveHide(iframe,objname); " W5 W& P5 ?$ {* t T) ^0 L- W
}& }8 w/ q! d) c/ s2 n
}
+ ^# N, v- S$ _% b' Q8 _, h }
; w6 C, o, W9 m* k catch(e)) N6 `5 X; m, a# f% z$ v; h. F
{
2 \6 }) `* F- v2 O! x( u1 Y if(debug)/ Q$ N8 Z) O# Q% }. Q
{
/ c o$ @; o5 g, d, Y3 J alert(e.message);% K d ^" x( Y) X1 [
}; R$ J- K3 j7 ^0 [$ v& m
}8 P/ v3 A* [' y! l
}
& H& b) Q3 D! H" m$ l8 [; ] % e4 |" `: ]" r/ k% T
}
+ y# G1 z: F& B5 V( H
$ x6 { @) ~2 N4 pfunction getRGB(colorString): a( n1 [! W. U- F9 N3 ^6 z9 Y/ I2 a
{
; i" ?% L: d7 [3 l X) A$ W var RGB = new Array;
# ~# o' ]' K. W& E3 i var tempSting=colorString.substring(4,colorString.length-1);0 N2 s t5 \5 t$ k g& X
var tempArray=tempSting.split(","); U8 K8 h( v6 c! g
& ]. N& V$ x. p$ q8 g: J) d; g
RGB[0]=parseInt(tempArray[0]);
7 l* p6 `! t% w& {& U5 L RGB[1]=parseInt(tempArray[1]);( K) N8 o0 n0 z; p5 U) Z- ^; n8 S
RGB[2]=parseInt(tempArray[2]);0 R" Q+ j: k: c9 P6 H
$ O7 P0 {0 n3 O6 B) C7 r2 f return RGB;6 A" @3 _* D" t; v1 Y
}
8 o0 q4 N. Q0 ^4 F( | Ufunction keys(evt) & ^- U$ g$ g/ N; a: x
{ 4 |! w7 v% B. J i8 p
if(evt.ctrlKey && evt.keyCode=="81")
; ?5 M) P g. P; n1 Q. x+ G* W { 0 z E0 ?0 q ]& f/ ? J
CleanHideObj.on(0,1);+ I1 V! K/ K9 n& {3 }6 q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; n0 X- r( b# `. [' ^" ?( _
; Z; @* y: e2 f; }
} ) ?( @( C! g' c% }6 i0 p% i. Y
}
# h d7 S1 o' ?* y/ T) H4 V9 W: Ldocument.addEventListener('keydown', keys, false);
) \6 r- z) t2 {, E% `! v% N+ M' HGM_registerMenuCommand ('Clean Hide',
7 P& a& T3 {6 s* kfunction(e){
. g1 j2 c' D: I! t ICleanHideObj.on(0,1)
8 u) U8 A# S5 @# N) {2 _% i0 a9 Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 F3 j' k6 o4 l# N2 R# |});# R& U" M0 \7 e3 s' N8 T
|
评分
-
查看全部评分
|