|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 o- X+ q# @3 \: I. \2 x
5 H+ Q) v6 n% E! I- x火狐插件,用猴子5 |9 k6 d8 r9 O' S' p
9 {& f) d4 D5 P+ @) I0 b; v2 S- d) s
var debug=false;
9 ~: V6 s5 P M7 B3 {var CleanHideObj=new CleanHideClass();, ]! d1 l7 R5 X4 c# z
$ \7 w9 c, g3 O( B' F9 W! w; G' efunction CleanHideClass()
1 v K8 ?0 c% `0 a{ ) |& U" [1 y8 f8 K* |: D
$ {/ T' `7 R: U' h0 s3 e8 q$ N this.on=function(id,bMZ); p$ C: P! [ E) ?, x; u
{
# h7 u5 z8 X( o/ r* ]# b: j/ U, S * v/ W2 S# V/ @6 A7 b0 h
if(id == 0): H; I4 r4 F. F, B! y/ ], R
{! m: B. U# U% R! g% v. n- R
var page=/* document.getElementById("content").contentDocument */document;
& d( h2 Z! a3 w) h$ Q" ?2 n7 d this.RemoveHide(page,"span");7 b% L* I; r I, y* c5 E
this.RemoveHide(page,"font");+ M2 ]: W: R7 e( E0 T
this.RemoveHide(page,"div");9 k5 C. o2 O$ W5 T
this.RemoveHide(page,"p");/ C0 k$ i0 O/ E5 m# h, j: f# |3 J
- K3 B$ ~# J( @7 Q. j2 m }
0 g/ J% d; X( y* t% [; K' X 8 G5 |% m6 N( o0 `1 Z" L% m
}
% L# q! }6 u, }+ @" j; t7 @ this.getobjstyle=function(node,prop)
( e+ X+ f/ x# ~ s6 B! ~) d {
. f/ {/ v1 f9 ?' s try" O7 R+ _' a; ^9 n/ \) d& u% O
{
" f, \5 z! l$ ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) h) a% U$ c. c V* s+ F }) K6 M+ v. {2 Z; W5 j
catch(e)
1 o T0 E/ K& D& y& T& k, _ {8 a) ~! `$ U$ P1 ^$ w
if(debug)
, c# ~. |* s) t7 B' e+ W p {
# f9 G& j! e' k" S* \# E# K alert(e.message);
% _# {5 {) W, k! p1 t }
( D, ^2 @( K9 `8 E8 u) P ! K0 E1 n, {, Y' s2 J% h, S5 F
return "200";% j6 U$ S2 v: c$ o, t1 q9 e1 O
}4 _% D: E* T! b+ Z
}) ]* M( I) K1 E* @2 B* G/ F
/ N4 o ~4 f0 v: s, j [! E# \3 |
this.RemoveHide=function(page,objname)
7 I2 W2 G$ k. e7 B& r {
; T7 }8 X2 m, r" D1 I4 {+ @0 k try
" m7 W* x8 `) I$ m- x; f {
3 Q0 a2 ~1 N4 g- Q1 u var minValue=15;6 \ ^; `& ^( g# V5 \! r$ i( i
var objs=page.getElementsByTagName(objname); 0 o! C9 {- F, G, d; p" [ v% h3 p) W
7 I @4 h3 L. R8 p9 f3 e e4 }
if(objs.length == 0)
5 Z" B, F2 ?. h) m; o9 b# ] {
& \4 q1 l) g+ b$ y if(debug)/ Y3 z1 m' C5 O C( s |/ Z
{- B; T. F3 R$ p+ ~, A
alert("no object found!:"+objname);
' ~: o" z5 H( Z% M2 G }
: K0 |; i1 H7 `* B+ J- |4 k }' C7 q* `# }& o. H
else
/ c5 t! M. i' }; q' x) n {
9 j: l+ G, s7 o: X
+ v. D0 y: x: Q l% M for(var i=objs.length-1;i>=0;i--) & i; s2 ^8 t5 `6 D$ l/ R
{
1 S9 _" n5 i, @$ K$ b var node=objs.item(i); : m6 q! t- e" P5 I
# O# c+ ~' q7 r/ v' Y
% }( D9 U9 q9 }9 l2 p: l- k if(this.getobjstyle(node,"display") == "none" ||7 W/ B7 Q, @0 w% s5 }- a/ `1 U' n
this.getobjstyle(node,"visibility") =="hidden" ||
) _0 @$ V y6 `* y$ R, D parseInt(this.getobjstyle(node,"font-size")) == 0)
R) M6 ^( [ r! j% k+ t+ w0 s {: q) w# R' y u% \& W
if(debug)
9 X5 Z5 s, ^; L1 O8 j0 | {
+ ? P( ~7 ^3 o N; k( c! D Y alert("remove invisiable!");. ?9 [- w& m1 z" h
}
% D8 V7 c) o. p i) e" h( I node.parentNode.removeChild(node);, H, T @4 {+ R5 i
, T/ r) z9 |1 E
}3 K) y6 s" Q" z% |
else
! ^8 s8 f6 f- N6 m- v% ?% a# U' V {
$ z" v" ^3 ]) B8 } if(node.parentNode)
: C" h0 v$ b# W( Q5 L9 e+ }! b/ I) Q {" }' A, [) q7 ~5 E' X# l
var orgNode=node;" N. Z8 O( E. G! o/ m+ Z
var orgColor=this.getobjstyle(orgNode,"color")) A7 x7 U+ J5 s7 J" s( N
var orgRGB=getRGB(orgColor);
8 e) L' K$ ?1 U/ m1 M9 x' e- ` # k: p# I7 L( {: h
var parentNode=node.parentNode2 M* J2 Z7 D+ u3 x" [4 Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");, H( y6 P3 z" |
- |0 h3 b% q7 {3 B" b- A var isLast=false;9 u# @* ~8 l1 m9 L: x- h
' R7 J$ r6 m: n
while(parentBgColor == "transparent")
! C5 r: m- r2 d6 j {7 c* Y9 q ?. N% h9 s
7 x6 ^& n/ P" H! E
A# w/ u. S5 B/ {$ R! m if(parentNode.parentNode == null)
4 |" g& b9 f8 u3 M. C {
4 @2 k& z' a; Z2 a( Z0 M8 D2 M+ c isLast=true;/ L3 _* X. e* t
break; i8 f8 }& ^; F2 P
}; G8 s8 d; M& a# ?8 Q( U3 v
parentNode=parentNode.parentNode;! f3 A, W! S& O- d% V. f
parentBgColor=this.getobjstyle(parentNode,"background-color");$ F. A$ R' [5 V) C5 e4 J2 w
! M1 D9 ~8 t3 I; B8 \5 a if(parentBgColor != "transparent") ; u% A0 X( v6 T, j# e% E1 {* g
{
$ q( {% I. o8 ~" j2 p; s break;
8 n# m0 w9 D- C6 y! ` }* Z' e6 V: ^+ M; J6 K0 @
}" a6 [) g. W( N- V$ y8 C
if(isLast)
8 z" N5 O/ Z0 ?0 | {
V( V' V% P3 C3 G. I2 A { if(debug)
; j7 x% m- s2 Q2 A' k {
$ O# `2 V- h* q' o$ e+ [$ G alert("last!!");
1 G7 c# F3 c }/ Y$ K' o1 k C }
) ?9 A n8 h3 L4 o5 x6 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). Q3 F- C* l0 k9 [3 l+ {
{0 Z* H& o$ J6 ?, G6 k( l( [
orgNode.parentNode.removeChild(orgNode); 2 c' e3 n) o' q! ~; e3 z
}
8 z: P5 [& z& z- B* o' V. u+ Y6 H, o }
4 _* {2 i! [9 k: L- ` else
. o6 h# P. p8 F S% { {
7 p7 t2 x- Y( j' M if(debug)
- {7 Z4 Y' W* R. J9 F {
& S! z+ B# w0 y. J1 U3 T7 [ alert("compare color and parent bgcolor!");
: z% T8 c$ r# H) M }
7 h0 t/ F* |( P parentBgRGB=getRGB(parentBgColor);8 d; D+ }0 [ {7 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& I! Q, S: n; |& Z+ J! R0 s
{
@7 l1 }+ q( w) U3 B: ? orgNode.parentNode.removeChild(orgNode); ' V. H" ~* R- o. [. P0 |
}
4 S2 A" o6 {0 P7 }6 F& }, p/ R3 E }
3 R1 f" I( i* c3 G, g }
6 s. I# Y, N+ { d5 E1 | }2 U" `4 T: X2 G; t0 I$ \+ ?. H
}6 E6 W; Y$ x* o/ p- M
}# Q- A2 u0 y2 D1 W0 Z. |; B& I/ y+ R, U$ B
' g% y& M5 Q0 Z6 I/ |, c7 r B
0 V- E$ f4 T$ Z: K j9 h var itemFrames = page.getElementsByTagName("frame");
; w/ {3 r! ~6 x" D9 P var itemiFrames = page.getElementsByTagName("iframe");
; [ [$ n. j/ S' E4 U2 G
1 X% ~/ D( m2 s0 m; l3 x* Q var frame, iframe;% h( T* T) S/ G8 C2 W% u
if (itemFrames.length > 0)
; h4 C9 q$ } ~% V- h/ y { d! ]7 d1 D. P# F# A* a% |" J
for (var i = 0 ; i< itemFrames.length ; i++) 0 @: C8 Q' }$ L4 Y
{
/ g6 T1 h$ |; D1 E' S& P# W frame = itemFrames.contentDocument;
. b1 ]" {/ @+ Q) @3 T% B$ p2 R% t- W this.RemoveHide(frame,objname);
! U, `" V9 L+ E }) b$ y$ W! W" x+ s
}! j8 I& w! K8 x; g: h. U( X) U6 o# j( T
if (itemiFrames.length > 0)
$ o* u) I- ]. Y7 D+ x {
% I) c. o, a6 {; i0 J, ? for (var i = 0 ; i < itemiFrames.length ; i++)
$ `' F% I0 ^8 B( D4 }2 b' ^4 O4 q {# v4 M: b5 u% H4 O$ n. e* { A
iframe = itemiFrames.contentDocument;
/ j1 I8 }2 N+ W& x this.RemoveHide(iframe,objname);
0 J3 M6 G1 B) B6 b1 \& K, p% ? }3 i" K, L9 o' x! q( T! \
}
& e7 u1 J( L" V/ h9 ^; J" d }
+ ~: P0 I4 n- I( o, V catch(e). }/ \! q1 O6 v- z
{& R8 T6 I. ^* a y
if(debug)4 i4 O. Y5 f" ]& \, u! K' e
{
! T, a3 V( ^5 T7 j alert(e.message);/ o/ u+ |- W: f( s1 q
}5 F" f7 A6 }# |& X) `1 L2 G- O
}9 A, L7 t& x* p/ f) z
}8 N" j0 ?. P5 u) z& Q
' N% ~) p4 v$ d
}
0 Q+ E7 x3 |0 G( }- O
& z: E0 A/ q) ~! \& ^; p6 mfunction getRGB(colorString)$ ?" i( L1 p: L8 c2 m Z
{
8 U: T* n4 Y i; x" | var RGB = new Array;
, R* M, r: T. G, L var tempSting=colorString.substring(4,colorString.length-1);
* D! e% G. V" ]+ r* d, v var tempArray=tempSting.split(",");4 t5 S2 u/ r, y8 M7 ]! u+ m1 a( ]
# ^3 |' \9 o1 q4 }7 P9 i z0 y9 U3 q
RGB[0]=parseInt(tempArray[0]);
6 C- [. q* z' Q) W/ u$ u! W RGB[1]=parseInt(tempArray[1]);( k5 F* b& y b4 p
RGB[2]=parseInt(tempArray[2]);8 C+ w( G2 R$ j) V9 w
' p2 I- F2 [6 T7 I4 ~
return RGB;
3 K# K6 m% w9 @5 [6 k( Z1 c}
0 q+ l0 x3 l( S$ f1 Jfunction keys(evt)
) h9 Q. }3 j6 C3 `& G { P& V& T5 \% i' U y4 G
if(evt.ctrlKey && evt.keyCode=="81") ( i8 J* i* `( S% `; a2 h
{ 5 B. C ?. E* a1 `
CleanHideObj.on(0,1);
# u% n3 G( w( s5 Q! e f, z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 f- P& z! E& o5 r
$ T# a8 b% n8 Z; S }
% e( W& u9 O* G5 Z- z. E. @ } 1 ~( k3 n p, B5 X$ v
document.addEventListener('keydown', keys, false);
: B0 N2 U5 P0 }8 B: ~7 D1 W- U2 ^GM_registerMenuCommand ('Clean Hide',
3 U+ A6 X0 t/ v# s( g' b0 Rfunction(e){
0 X; h# N4 _5 e) }CleanHideObj.on(0,1)
; D; b/ c2 q/ D+ i% w3 ?/ f* ^$ ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 C( T( f4 m' Q" v$ S. M
});( h6 \5 M! f7 R; @. T+ |( o7 z
|
评分
-
查看全部评分
|