|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* f. @5 r7 {" G+ D' F
% s& s" ]9 s& [ ^1 ?* J$ D2 M火狐插件,用猴子
- q3 K% E ]9 o2 s7 z$ X1 e# T& \# J; {3 N; U) G, ]% a
var debug=false; 1 F& o4 t) F7 t7 z8 _
var CleanHideObj=new CleanHideClass();5 D0 M- V( m4 n4 ^
5 q1 {: N, ~ c# J( z4 y! K. l3 T& ifunction CleanHideClass()
! |3 a* U' q2 V/ \{
3 l4 e6 k4 ~, M% y/ L# v; [; r/ ?9 U + \ K4 M+ J0 f5 r" L. y! N
this.on=function(id,bMZ)
, L6 ^: }3 e- [* }' W& J$ }& b: a$ S {
3 l4 ^6 H6 C3 C B V1 G
1 N h) r- s# W/ x9 Y if(id == 0)
8 q. G3 H8 B% k& V8 B' w" t* E# x {! p6 ]- X+ k, z) ^
var page=/* document.getElementById("content").contentDocument */document;
$ u3 c' O0 m( N% k this.RemoveHide(page,"span");
# E* e a; @* W! h8 _: M/ K& m this.RemoveHide(page,"font");5 ~7 y& o: [" U7 u7 Q: i
this.RemoveHide(page,"div");
: u1 F: J( \; |0 I( R( v1 d this.RemoveHide(page,"p");
( Y5 d: _, i5 q, l
) @- C' {) y$ L; {, A8 s }
# X% i b( U/ y, p) ^ : b$ @7 E& l8 w' G; r. u6 C0 n
}4 K( h8 T' g0 k) q0 D W+ P
this.getobjstyle=function(node,prop)
+ E9 J) j8 T% z3 d% K8 R* `1 I4 L {3 g, A; B9 [" z( a1 g. |* x9 P; K; q
try
5 N% k$ {' y; ~2 L {
* k9 @. L4 G% B. i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 x* Y$ j* x$ \' x! g4 ~
}
1 {4 G Z9 _' f catch(e)
9 v, h" i4 ^7 { {
" e2 J( Y2 b) I! h N6 ` if(debug)
6 ?, I& b" g# Z1 r {3 x; j) k2 X7 ]
alert(e.message);
) o! I7 x" s8 L- b! G }
0 i$ v6 w' n0 j9 u5 t2 ]: E- q
! p- j# e! S, `5 w% F return "200"; y% a0 p) d" G5 }1 J' C) x& V
}
4 H3 M5 A9 k0 U4 Y. v6 T }
0 v) {- i# [( ~7 S& g
& G& y6 i7 }& R& l7 z" b0 E/ r9 i this.RemoveHide=function(page,objname); R8 @" j/ g3 [0 x& W$ Z- C
{- p5 q) ~3 {8 X- }
try
) S/ r: B( X! U; d0 F* Z; @7 X [ {
7 X. U0 f6 B, z1 P. v5 a0 t0 i9 | var minValue=15;
6 _' p+ a# m6 z$ [$ f# B- { var objs=page.getElementsByTagName(objname); [3 V! g J6 B, F! L% ~' R/ e
; b, m2 H9 }& H5 b1 K! d if(objs.length == 0) ) |- h3 L( V3 q3 c* N: L7 _* `
{# d5 [) m6 f! ^1 |; q" B( j' n
if(debug). v* L$ B0 ~- c. b* h9 ~3 u" ]
{
3 S Q* m I/ @- N- t alert("no object found!:"+objname);
6 V3 ^+ k" g$ c: K5 r }
V) \- e6 \) Q6 r }
, s8 `7 q% U. t6 C$ W: F' D" ~ else; E+ V% A* R: r. r/ v3 v# F- [
{
) h' X- Y, s6 V 1 g5 D7 S0 A5 D+ ~# J! p" l8 O
for(var i=objs.length-1;i>=0;i--) ' `* _6 S# {/ {1 c1 ~7 F8 h
{7 U: i. X0 |( e) n
var node=objs.item(i); 5 e* X2 y2 U0 {) Z3 J+ }
9 _4 U+ W1 J U: I) L( z
, k# h2 F& _1 f- \+ _6 T3 ~
if(this.getobjstyle(node,"display") == "none" ||
) G$ y5 g5 e& F7 x2 M$ E this.getobjstyle(node,"visibility") =="hidden" ||
* ?7 w$ D# s/ u# E( n2 ?. s parseInt(this.getobjstyle(node,"font-size")) == 0)
F# M3 O6 e F$ e, N8 h! H {
! c n3 o/ {6 g0 A( q( q- n if(debug), Q5 D+ W# L/ e
{1 O/ ]5 c& p* @, o A; G
alert("remove invisiable!");
' {$ J4 k$ ?5 H6 L7 C8 p' t9 `8 ? }
! d' ]$ B7 X8 O7 \2 | node.parentNode.removeChild(node);
: a8 {2 z. B) O' b+ c6 H% A 9 t v' T* J. P0 J; Z
}
+ G9 q2 i- l' J9 Q5 {! } else
* S8 m* U, Y1 h& B6 O {
`9 P' ]+ p* S; t, Y0 n0 l4 q if(node.parentNode) 8 w- `" F3 y4 ?, R+ ~
{# I3 {& u0 B, V7 g1 K8 n2 a( c
var orgNode=node;
0 _0 x2 N( b! w+ P* u/ F: z8 S; Q var orgColor=this.getobjstyle(orgNode,"color")! A6 _" t$ Q b( M7 a
var orgRGB=getRGB(orgColor); 6 J! O8 R9 w, T! v
0 e% V: y7 f d& ^+ [
var parentNode=node.parentNode$ U4 D( U1 N0 K- d( @; E
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 t4 C8 G9 G$ j4 O. r7 B! z+ M( B
/ J' M9 J, `7 t# _5 P: Q) c5 @+ ^3 c
var isLast=false;
+ x a( p2 d% f- @) h8 e- p! f9 G1 C% h - }- e. r$ }' b/ \4 ` h/ E& l4 X
while(parentBgColor == "transparent") - }) C- p6 W' i
{% E; h6 E( e: s+ ]# x! P1 i; D; d
6 v. |; k& {5 N) b7 L
% j" y1 n- H* ~% z& Q if(parentNode.parentNode == null); n% w- P5 Z/ X
{
! ~3 i$ U6 `2 W7 _9 e/ i isLast=true;) g- j' K" v) u4 k% }6 ?1 S
break;3 g5 v! L; ^2 ^. O: i
}; P$ T) o' \; |. ~) p
parentNode=parentNode.parentNode;, G9 r" T* X9 Z3 }* j* X7 @
parentBgColor=this.getobjstyle(parentNode,"background-color");
% `) M( K( m" j! t/ M: Y/ g8 K! C7 w( _* w- N: s! ?
if(parentBgColor != "transparent") + O& c8 V+ |" t2 x
{
& V5 T; z, j9 d, T break;
% n* n, c) ]# {: t6 j% G8 h+ y+ f }
9 C" J& R g& P7 t+ [) T& J) a U }
- I' S& b$ q2 m) p- @& Q# o if(isLast) , l9 T- ?3 v' I2 d- G4 @
{
3 Z1 Y5 q2 f+ J" N! @# @0 V if(debug)
2 F! ~8 r$ Q j* m0 ^ {& l# _% l* [2 P6 D
alert("last!!");$ D& S0 Q" j; X* }
}
0 A8 x* T( {# l$ y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 t! K0 [0 I, G! T9 C {# | Q2 n5 |+ V
orgNode.parentNode.removeChild(orgNode); x6 j/ f0 U, p5 B% D& N
}* \- D+ l2 G7 U
}# ] f2 a8 k% v
else
) |8 ^% X& G& Q% t8 U {) C5 i6 ^( ~/ c( R4 @* d
if(debug)/ S) s7 K e6 R7 H. z% _
{
6 f+ z1 _# H4 S alert("compare color and parent bgcolor!");
2 R1 {& j4 P/ v: ^# @ }
6 V+ m5 j- Q& z; i7 K$ m parentBgRGB=getRGB(parentBgColor);/ j" d3 M# ~" {5 e/ y% T% [+ C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 J4 B4 }5 m2 n
{# E, t' f) z5 K0 I$ k; g5 P" |9 ^
orgNode.parentNode.removeChild(orgNode);
' v% Q) e" {) Q8 f }
$ y* h- M, s& q6 y7 e& d4 y }1 N" a9 n1 C% X* r) p* ^" @5 [# q
}6 _- V' S) A5 I/ E3 l
}, g9 H8 W# `% O
}
3 [. w. z! |+ h; R }3 L" N, n a% d% S$ z* p) S2 m' |
" | ]5 a9 f! o4 q- o, M- f
) g0 ^; {1 a& ]3 B2 u" x; l- @
var itemFrames = page.getElementsByTagName("frame");
" ]4 Z3 p+ g0 o Z& t var itemiFrames = page.getElementsByTagName("iframe");
- O1 y( ^9 J# X: T' u5 D 0 ]' w! T. p2 F* a, p" r
var frame, iframe;! C* f8 @' e& \# N/ j
if (itemFrames.length > 0)& ]% a8 Q6 o( T9 N( J, M
{7 f* C, O, g8 F
for (var i = 0 ; i< itemFrames.length ; i++) + `5 V- r9 i1 }7 w; A$ T
{
$ b e5 B; U9 k2 ^1 [7 K) R frame = itemFrames.contentDocument;
5 R* `5 N) P% G% I, N/ n1 d this.RemoveHide(frame,objname); + R; {5 N: k) k( q# ~7 g
}
" p# a7 r/ w0 F0 v, I7 j }
2 W; @# n% y/ j+ L& G if (itemiFrames.length > 0)
4 S5 Z' D# ~. U {
: x5 k0 K; u2 y4 V for (var i = 0 ; i < itemiFrames.length ; i++) ( b. |$ a( x9 g; f
{
7 B- a* L: B6 {1 R iframe = itemiFrames.contentDocument;. n! z+ W' ?- V. M+ X1 Z
this.RemoveHide(iframe,objname);
* O! p) N: E( b0 a. R# y0 c }' e" t) l/ z! G+ S3 p& Z( U
}' x, ~9 h' v, t# L1 G2 D5 \* P
}( o$ P& G* S8 R
catch(e)
; M0 D$ I) V" `/ `* O2 i' c {
, |1 w0 y" L/ y2 A( d3 b if(debug)" s8 j$ m/ b3 u! W+ ?9 M6 d
{9 E" F J k8 u( ~* e2 C
alert(e.message);6 |+ `. C0 X- K o% c
}. ?# B' k* Y1 C, q g0 D
}
|( s4 l8 @# M' m }
% N9 S0 Q6 E1 N . l& K- ^2 Q4 d* o
}/ a" _0 u/ |- I4 k/ k
! M: }! O4 D- o7 {* v; ^function getRGB(colorString)
; k- @3 a' t8 |{4 Q8 `* q1 M) \0 j: }% X
var RGB = new Array;+ z" d1 k, M8 x# Z; q
var tempSting=colorString.substring(4,colorString.length-1);' r U( f$ j# h, T6 d3 g9 [8 {1 d
var tempArray=tempSting.split(",");0 s8 d( y; i8 S8 F1 o
: d8 M5 t' z9 n Y RGB[0]=parseInt(tempArray[0]);6 t4 ?1 e: q$ M4 r# ]( [7 W/ ]
RGB[1]=parseInt(tempArray[1]);* U8 [0 S4 L6 U E2 B4 ^
RGB[2]=parseInt(tempArray[2]);
: U% t) P# `5 Y+ ]3 b, I $ K# D# p- }4 Z. u
return RGB;
2 y w, v* ^, H& y t/ w% {, K}
: h/ i# j9 O( L$ [6 K- Dfunction keys(evt)
# Y7 O$ c" p* G/ \1 x2 g {
: X& E4 \, b0 ]4 L9 I% r if(evt.ctrlKey && evt.keyCode=="81") 0 _" P+ n+ ?+ E. {& _ I# r9 p5 T! I
{
& j% S7 g! Q/ D5 O# R" ?# X3 w( P CleanHideObj.on(0,1);! ^0 r0 G: g' c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* D- |) {2 K* }( l& y6 e* G 3 h9 [7 Y$ s, C$ O) E3 N$ f
} ' [) I5 u1 }1 s8 c5 r3 F9 B: }# _
}
9 m5 _+ Q0 x% l; _ \document.addEventListener('keydown', keys, false);
* F1 E0 x3 }% r, GGM_registerMenuCommand ('Clean Hide',
0 M. _* v0 p+ c0 I2 Sfunction(e){
' k/ @$ @6 ^3 MCleanHideObj.on(0,1)
( R2 ^- Y3 Q0 v0 V$ dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- G3 r: B% [# m+ q});3 I, k: c# o; E2 A. ]5 c
|
评分
-
查看全部评分
|