|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * i' j2 U" {( _$ e# r! u( b, Z
7 R6 u! q- p2 y* N
火狐插件,用猴子
* ], |2 V3 |; @* S, }2 H2 C7 P8 }# X: F% r) B8 Q" d$ W5 |
var debug=false;
2 a; L9 m4 j' h2 o' }5 r8 g xvar CleanHideObj=new CleanHideClass();
/ ^7 }- W+ _1 ?. e5 ~2 X4 i0 A4 W
. p+ t( l8 d3 |# \: z( b) W* Efunction CleanHideClass() . }! N7 d; o) V* b# N* H! D1 V
{ - ^8 |2 |4 l- ?7 l+ g$ Q
+ Z5 o {- D& C* o ^8 U. X this.on=function(id,bMZ)
. I$ |, H9 ?" u- R4 _- _) t {3 d) i1 d2 v; D. ?3 n7 D% p
3 L# A1 F9 d |( f8 v0 e. X
if(id == 0)
8 C# }; H/ V7 A) Q$ {9 B {. y6 _3 ]1 G% \! z8 ?( W
var page=/* document.getElementById("content").contentDocument */document; & D: ?% u* e: z! C
this.RemoveHide(page,"span");
6 p( l2 H1 n- F this.RemoveHide(page,"font");( I$ r# L* j, E; D: t* S' J
this.RemoveHide(page,"div");" r( I( D9 n& i2 U( Q! y
this.RemoveHide(page,"p");
( T- P3 H; Y. }/ d
) _: U% X2 q$ y% k, j }
% n2 ]- q" K1 ^" H0 [ 1 M+ s+ n7 H- c
}8 ]. c/ X8 B" x( c0 B
this.getobjstyle=function(node,prop)" ^, E; b8 ^; R8 X
{; _' k4 c. W: B% n
try* _/ y" R' F2 S- ]& H0 N
{' \( E4 ?" e* N! \
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. _# \8 o$ `, M- V" N$ f! i% {3 I
}
- O) e) _. ]7 K" h catch(e)
$ C% |2 u4 S) e {- Y2 ~6 b' ?2 {* T) `, Q
if(debug)
: m7 N; g4 W; m& ]$ r- ]8 M5 x {* ?& P5 E9 G$ Q% R* |
alert(e.message);$ w/ L0 f+ [2 I! C. L. y
}3 w b3 F1 k1 N. K
f! }# d( P' y ` return "200";
( I( b! v) j9 p3 _( f3 g R3 Z H }
8 c/ r( w) |' T9 j0 ]5 x2 G }1 }) r5 A* ]. v- m5 y
# n" F2 [! ~- _( d N% q; j6 I0 s this.RemoveHide=function(page,objname)0 _: x! t* `. x' H- F5 \
{
. M% J4 W" r, Y7 l8 Z; E; k try
- d: ]' {, f, O& C7 t; [" h9 N {1 l2 d8 V& t) q5 O$ Q& t
var minValue=15;; P, f8 P4 J5 X3 ^ c$ X- @
var objs=page.getElementsByTagName(objname); ( k8 F6 |5 I1 c) `4 x( ?
w- W" V, h0 ^/ ] if(objs.length == 0)
1 P) \/ |% u6 X! @' D5 z {
$ Z4 P- z, |" R$ g$ V {' t if(debug), L5 G' ]( a& A3 F1 y9 ]0 U
{1 t! J* H/ P. a2 T% h7 l; j2 {
alert("no object found!:"+objname);/ Q9 _6 w+ k5 [- e
}
2 s& u; V' V' z# c1 p }
! k" _' F2 f5 c* B8 y! z% J else7 O" A1 ?# j0 U1 E
{8 H3 c! B8 ^/ z- Z* E1 K: Z
9 _$ I# E2 r6 }( p$ l
for(var i=objs.length-1;i>=0;i--) , h) [ i$ E8 S/ V
{& G9 E) m5 h/ f8 L# |
var node=objs.item(i);
, }2 W6 }' ~, ?" r& z& \* u ! M6 g6 O- i2 f0 D8 T& S
~1 x9 j/ G! L2 Q- X if(this.getobjstyle(node,"display") == "none" ||
0 [ R- q i3 k this.getobjstyle(node,"visibility") =="hidden" ||3 [% s1 f% D8 U6 r: X7 T, ]- ?
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 d- g& j8 M1 H4 w6 L5 a
{2 G( H' |0 q5 J4 a# z% ~, J" y' }
if(debug)
5 c; `7 P/ }8 G {
0 D& f) C6 T0 H* j' m4 ] alert("remove invisiable!");
2 f* C8 D1 [* f W, g3 m }7 {+ n) `- n5 u
node.parentNode.removeChild(node);9 W) M0 w( ], v, s
8 d% R$ T. Z2 a( A }- K5 o' h. Z# H! b# V) T4 Z6 l
else
5 Q0 R' p u6 f" O& _+ \- r- F {
6 `! }: R' \. [* X, a/ w if(node.parentNode) ( n3 Q5 k; |( J$ `
{
, B, }' o [3 ?# ~6 Q6 \! T: |( T var orgNode=node;
4 G2 i" @4 x3 a: k! K var orgColor=this.getobjstyle(orgNode,"color")! y' ?, e$ M1 ]; P0 ]
var orgRGB=getRGB(orgColor); 5 `1 G! A, }1 b9 X, V/ x
- ^) R& E5 j: I3 H+ I: [ var parentNode=node.parentNode
, e& t! O* ] V( k: Q: n! g% a var parentBgColor=this.getobjstyle(parentNode,"background-color");
, q8 h' y4 L4 f; S { 4 R9 N' i9 `7 n
var isLast=false;
, @5 j6 a Y. g8 o, H' }
7 P$ H+ q$ X$ ?* n' E1 {+ f while(parentBgColor == "transparent") " u2 D3 ^2 I* P; n0 K
{. T, k; g2 n! y* _6 _* V
; m, K% M i5 d% d1 V& ^ }. x' ~1 N- H
' @( X4 v" j2 b( e if(parentNode.parentNode == null)
( p! p$ o2 y- Y3 b# t {
6 H' N- K9 S) ]$ z isLast=true;
4 H7 t I1 _4 O: }/ T break;1 A7 Z! H4 |: A2 ]4 d1 H8 P
}0 D# q4 c) R- q4 a
parentNode=parentNode.parentNode;
3 y! o8 @, P* ~+ C: R+ E parentBgColor=this.getobjstyle(parentNode,"background-color");5 ]% c# t* d( m( b- r
( Q! K( {5 E4 M* Q8 B6 B* _- }
if(parentBgColor != "transparent") : L3 C1 y) J3 o4 ?; d* ~# @+ }0 ]
{
: `9 i9 ?' w2 }: T, U; {+ v' w break;/ p7 e- T* b! I/ g- w" O
}
" t& x& F" G2 E) x y }
- y% [+ n$ W3 D7 r& ^ if(isLast)
: `) H9 @; M* M& ~$ ` {+ C: q E+ f7 {- U! I
if(debug)
& y: G/ D k4 j4 x0 U/ j& f {
7 b6 J1 a" j. W+ w$ P; @: M alert("last!!");
, N! U/ w' ?4 n }
3 x, p5 z1 H7 |. t! z1 h! Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: q9 `9 V0 ]6 o {; m" Y; y, M) m
orgNode.parentNode.removeChild(orgNode);
& ]/ I; \7 N. |& D7 Y }
$ w; T2 y; {2 ]: e: K }
2 v/ j0 K, h' | else2 U/ e' v, l9 g- |: b- S/ o
{9 D. C6 J! b8 \3 \9 K, R
if(debug)( z( F, ~4 j B- o
{2 J8 M8 [* i) G0 [
alert("compare color and parent bgcolor!");) G! m* g( H/ E {: F
}
5 e& J- h; v# A$ L( ]3 @7 S- R parentBgRGB=getRGB(parentBgColor);9 g* H+ @# y5 w- o2 J' G$ L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- O5 R0 ?3 F, E4 p; R! m
{2 @$ S- U3 ]# [2 v! l/ k- r
orgNode.parentNode.removeChild(orgNode);
9 m! I) {, V6 i& g- M7 ~. L }
) Z: [4 ]3 i W$ l }
2 N B8 d( Q+ f! C- O }
5 a+ V1 r7 o5 p6 F8 k( m$ [+ m0 U }
. t( S/ t0 t5 }6 g& S" ]7 ~ }4 B9 w0 `( |( N/ k* w6 a
}
( P1 e I! }* e/ [3 e" O
, I/ _+ W, S8 q
) M; D- x; x' V/ j1 o/ @! [ r( i var itemFrames = page.getElementsByTagName("frame");% N- J2 X! w+ s) A! l
var itemiFrames = page.getElementsByTagName("iframe");- l. A% e. q4 u+ A" g' \
/ l& a" J) I% I8 W7 q6 B% W v2 h9 \ var frame, iframe;0 \) J& W, m& N9 e
if (itemFrames.length > 0)
% [2 i. S; p3 d2 f3 Z3 u5 i {2 k3 M& a: j. o2 W& b8 h+ H
for (var i = 0 ; i< itemFrames.length ; i++) ) D( l! u, H: U: \! X9 o+ w
{9 V1 D& N. o) B0 B2 @
frame = itemFrames.contentDocument;
M% G7 ?/ P' {5 w: q+ q8 v this.RemoveHide(frame,objname); 9 A, Q8 U* C, P. z
}
* v4 Q; M3 J) v3 t+ i }
7 o7 u8 p2 Z# i* \; \8 b if (itemiFrames.length > 0)' }6 B/ u6 K+ ~4 n2 c% l: C
{" z. x! d2 B) t; g$ ~
for (var i = 0 ; i < itemiFrames.length ; i++)
; f5 T5 F. t: G$ @! d {/ H4 U4 {; o+ q. d
iframe = itemiFrames.contentDocument;
) C; q' X; X$ V" M" f/ T4 M4 o this.RemoveHide(iframe,objname); 8 i0 y3 m, D8 |. Y6 z( a
}* R0 D7 N& }3 P5 y# j6 W
}- f6 _2 z7 M! u( V
}0 Z2 P+ u: d# _5 |9 p
catch(e) X+ \' C& W% L8 E% a- I" v4 G
{
9 f( r' k2 j; |: d if(debug)
$ L9 Y" G1 m4 U* Y% K2 a {
- ^# @, r& T& K1 b$ r2 p) j C alert(e.message);
6 W" O' s1 p, C' {; b' W }. G: Z' ~+ p, [: q
}
1 _; U* h6 u$ @' H o }
( r" z8 n! o$ s; i$ A" l
! i2 L Q2 k+ y3 r}( _& A% R# K0 i
4 ]. T7 l J: Y; x3 D/ s5 h
function getRGB(colorString)
( h: |& n7 D% n6 T* V) e{7 a$ W+ C. [8 y0 H* ~2 X
var RGB = new Array;
, o( f( ?) H" Z var tempSting=colorString.substring(4,colorString.length-1);
9 Z, M) I: C4 p' Z8 ? Q5 W var tempArray=tempSting.split(",");
5 `+ c: y* \# m8 u7 x) L5 b: f9 m
RGB[0]=parseInt(tempArray[0]);6 c0 D) m- X* e
RGB[1]=parseInt(tempArray[1]);: X$ n# [8 W: r) P( k
RGB[2]=parseInt(tempArray[2]);' Y9 |: R2 ~& C ~8 w6 R' L, g( ?
& q) W; L! X: M- Z [6 a return RGB;7 l# E! H: O' v4 |4 f/ d
}8 S4 O4 N- B6 Q* I# O5 N
function keys(evt) : { p) J; K4 ?: w, \5 w3 n
{ / { y- W) w1 y) J2 `# w
if(evt.ctrlKey && evt.keyCode=="81") # s4 P0 ~. E2 q8 R# u6 y
{ : p2 o- e. Y/ f! r/ i
CleanHideObj.on(0,1);
3 G- O$ S/ \: O k# \" }& } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( D e+ {, ^9 F' U7 L8 D
: ~1 d! b% ^" i! W# [
}
2 ]0 S- A% t; o! x0 x2 ^5 Z } 7 \, _' }0 u0 H' \
document.addEventListener('keydown', keys, false);
+ H2 n* i* s% VGM_registerMenuCommand ('Clean Hide',
. a0 b8 Y; }4 Zfunction(e){* |& D, p5 r% x0 f. t
CleanHideObj.on(0,1)
* t& {, K: Y8 lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' h" B0 o8 p! I9 r4 `& i! O$ Z});
% N5 R+ [1 a4 P7 h! `4 R2 h |
评分
-
查看全部评分
|