|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # J1 v# w9 @$ H: ?' n6 N
/ p. U% `3 L5 @8 P! f火狐插件,用猴子. F! X7 X+ ?. C. _2 p
2 p" `6 q9 U) Q3 B# p* F3 gvar debug=false;
2 o3 m+ ^& e8 Bvar CleanHideObj=new CleanHideClass();2 h- f/ Q6 V, `5 U7 ]
6 P. w+ D" X2 ]+ y4 Q6 x
function CleanHideClass() 3 t6 A/ l% r1 ?8 f% ~% G
{ 3 e9 h% g: J$ J7 J
& c$ U1 Y* r0 W( o this.on=function(id,bMZ)
6 b% b3 J$ r9 x { s8 C, q* E* n- _- Q
9 [! n+ [/ m& b8 h" T
if(id == 0)( ?2 u' M+ A% X
{
- l% {0 ^( B5 C var page=/* document.getElementById("content").contentDocument */document; * |) z3 U- q6 A6 S0 Y6 b! N y7 u
this.RemoveHide(page,"span");
. z+ `6 h; n. h7 W6 n this.RemoveHide(page,"font");/ q# Y/ @) h) j" [$ d' W+ |
this.RemoveHide(page,"div");
; d5 t% h8 I1 C0 B4 s( v, Y this.RemoveHide(page,"p");% k6 Y3 _! q# z+ F# T$ n
6 a- ^- x# v. ?" w9 Z8 T7 e1 T$ m
}( t; c9 \. Y5 k- ~
! @- A. |7 F! n# ^* i9 L4 ]
}7 g( c8 W7 Y( E4 A p; _0 r( o
this.getobjstyle=function(node,prop)
* E }5 ?! Q l( T {' X4 H% D! D; m, W# S" S+ C; T
try' H8 ^! ^- i! l7 z5 C
{* O% m* p9 Z1 R& C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 B' u# X; Q' I4 x1 |( l }7 f9 @' ?# n7 g. m
catch(e)
7 u, r; c r' E; `" \ {! j" ]6 F: p2 O" E
if(debug). s' d. R* t+ \: y
{8 |& W$ d) V; j7 Z2 b0 [
alert(e.message);2 B/ F* q0 @" _9 W% ?+ k+ ^' O& w
}
& W" }( k- V; t# l5 R g 4 T' r) Z& E9 m9 T
return "200";. R, b! i( h! {- B* ~
}
9 z# Z R. w9 {* J1 T' ` }( l* S" X/ w2 H- S4 x# b: B
/ y4 [8 V. Z( v5 L7 W
this.RemoveHide=function(page,objname), \& F @' C- |1 K; E
{* F0 G1 j- w8 G& Y. q" _
try4 q& P& U# g: F
{. l$ W. o, S6 j& F6 i' c
var minValue=15;1 Q; |: m+ u# [* v
var objs=page.getElementsByTagName(objname);
. X7 n+ V7 k! z( K1 Q% H6 @6 w4 q8 w; I# W4 i
if(objs.length == 0) ) N3 a2 }8 d1 M2 [ k* \: G
{
, [4 W/ C- S0 H2 { s8 b if(debug)& b6 ^, a: n# _; [- D, T$ K: j
{
+ L \4 O; ?7 B0 `, C+ J3 h alert("no object found!:"+objname);; F/ ^! h/ ~# @& E
}# ~. o9 r1 @5 s4 L; {7 f" l( P6 G
}
4 \ U7 R6 Y" U- x/ @4 N5 N7 z$ o else
( z! }# i. K4 }6 g% g- ]8 g {# m }- ~- R9 U$ @3 x& c: J4 s0 I
0 X0 s0 `" u/ l& K" K
for(var i=objs.length-1;i>=0;i--)
; a/ O# `+ L* `. P {2 Q7 n" \4 { F/ L+ E: @
var node=objs.item(i); ) M1 l- t' y6 L$ s0 D+ k
; q8 m. \- S' Y- C; K/ E 5 j+ ]9 ]* t+ T7 I+ ~
if(this.getobjstyle(node,"display") == "none" ||
2 ]* d1 c5 I* E1 F, i this.getobjstyle(node,"visibility") =="hidden" ||
( v. B( X; B- R# T' s# V parseInt(this.getobjstyle(node,"font-size")) == 0)
2 f: B5 _1 t* I8 ` {6 W0 f1 A4 r+ [3 q5 V
if(debug)
/ ^9 t" t/ m8 B- Y1 h# d {
4 g7 |9 R+ b+ e: J9 q alert("remove invisiable!");
1 x& x- F7 s. x* e }
; X! K3 s! `- G) [; y5 E. Y$ v3 W9 S node.parentNode.removeChild(node);
6 _5 g, C: Z* W& M
& t$ }% \8 R7 V6 `8 c }
" N- R3 `$ u9 @& b else
- H6 I6 g2 Z5 r% g2 B) N {
: _. T& r: @ v6 {# Z/ r1 q! M if(node.parentNode)
# `* @, X! U2 H4 _ {
, k- N, S8 ~9 W: y var orgNode=node;) D; L8 D8 e6 h- `; q, w, }$ U0 t5 y
var orgColor=this.getobjstyle(orgNode,"color")
% N3 l& o$ [# b1 f1 a4 Z var orgRGB=getRGB(orgColor);
$ b3 S3 `3 Q$ E! p: Z: |0 G $ X3 f6 m" ]$ s; W
var parentNode=node.parentNode! Z5 C$ [6 T% R% V* s- k
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 `+ y+ x. M& J" A9 M+ E
5 s: q9 M5 j( A' o6 h, Y0 D var isLast=false;0 A' @0 M7 r9 }- _1 Y) q1 x( f
1 p2 Y( s% P& \8 {: E while(parentBgColor == "transparent") ) _ E; X+ r0 `/ J& ]
{
% U. l* r% s* y4 K. p0 X r5 R& \3 s) G% A
+ Q! m" }& e6 s3 S6 I if(parentNode.parentNode == null)
. O% ]; o; i* D# U {0 |/ [+ L! C$ K) E) }, c
isLast=true;
5 ^5 G7 c: J0 ^- y break;
( T9 x+ _) a! K3 O }1 _' ]0 v5 S5 h6 ^; U/ C7 S% }9 S
parentNode=parentNode.parentNode;! _6 G" j8 L+ y3 N1 d$ B+ }! G! c+ N
parentBgColor=this.getobjstyle(parentNode,"background-color");
% h: W6 P+ Q5 u w, O
, t. `$ ^7 M0 f2 K5 d+ w if(parentBgColor != "transparent")
6 a3 q9 Q+ t9 K3 f7 `# \ {5 {1 A6 P( y* A! t
break;
7 T6 v9 A% ~: M8 K }
: F$ T' b8 R- r- j, j4 w }
" P" V; ^ e8 `) Q L/ f. | if(isLast) " g; c! F# t. A# U% b7 O2 c. A
{
5 H+ M/ P8 A$ v if(debug)/ F! Y- ? u s. m% {' `' ]
{5 M# |# I2 G# J. R
alert("last!!");
e* j1 o/ J0 N; Y9 Q5 }6 T }
$ X$ W- G$ ^! \" y, G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 M0 u6 t a" U# P; `& R
{& N* |) T/ P+ D; p
orgNode.parentNode.removeChild(orgNode); + d# ^2 E& Q$ n) D: H
}* b/ W( Y$ C6 S1 e$ O, _2 r: {
}! r, D2 u2 p5 x, c2 ]# z6 j
else
: q( [% j( R0 s* e' E1 K {. @3 |. u" b, K. n7 E- G' v7 j
if(debug)/ J. X0 Z: J, Z0 W
{* {) ?' L8 ^( s; S( o) e
alert("compare color and parent bgcolor!");
# @ N- i; @ I1 ]6 U% O }
- i$ m5 m0 }0 ^9 ^ parentBgRGB=getRGB(parentBgColor);
z0 b( t' p. c, Y7 H$ d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
g2 X# g& z" N* C9 y: @0 T6 } {
8 r( i) M; k: }# z orgNode.parentNode.removeChild(orgNode);
4 w- j8 q$ G3 P; N; n, c e8 g }
* w6 |* d0 }, m3 n- W }! l: B$ D, f" U3 i
}
1 G( X! E0 `+ ^' l+ ` }8 p0 Q+ Q% l# P' P% X H( F
}! C; Z% X( }6 y4 @2 |/ k
}
" s+ F9 d, w& W) j/ t
+ S( D: \: q, a! a# _; j, g ; h7 j. v2 s/ \& ^) |: D# Q! G
var itemFrames = page.getElementsByTagName("frame");
5 V9 `9 u# C& I var itemiFrames = page.getElementsByTagName("iframe");
3 y( o* G, G; a
5 H4 p7 f- E+ y" o5 }7 H var frame, iframe;. R) D+ ]- O0 u$ K' [9 w! i- H
if (itemFrames.length > 0) s6 `5 L0 R+ Q
{
6 L( p; q% e# w$ h9 } for (var i = 0 ; i< itemFrames.length ; i++) - O8 \3 F4 |) |/ L# y( W" M
{# r, p! U, w* ?" u4 b
frame = itemFrames.contentDocument;
9 b6 K4 G" d7 q, m3 f; D' }) e this.RemoveHide(frame,objname); $ ~# e" p3 O+ r, S7 m- r
}
2 V% o4 }7 _; y Q6 R+ {) J }
2 b) e- d; X! P7 B& l& [3 Y: V if (itemiFrames.length > 0)
2 M' S) D: D" F5 [8 z {
& D( i8 Z* X" S$ N, R7 T for (var i = 0 ; i < itemiFrames.length ; i++)
: h* J9 f% I3 ^% n, _! Y {9 `3 r. `9 t6 w) S2 V# R
iframe = itemiFrames.contentDocument;
+ ]5 D5 x: n9 Y# ]/ k this.RemoveHide(iframe,objname);
" c9 v; q0 ?" M- C1 ]/ ~ }: X/ ?4 h) ~1 _" ~* z* ]) `
}
. L/ X. O- U- A4 ^) r }& K* n; I/ ^' O* ^+ K% R- S
catch(e)
O& X8 p9 i* H1 w6 B" j; e6 S {
! _, V# O& ^2 ]& Q4 n# o, ~- y if(debug)
6 M4 j( _/ [6 ^+ E5 d/ q: I) C {; L; p) b# k. a9 v; }
alert(e.message);
5 S. r2 [9 N r( ]9 ] }
1 v5 S. _6 u$ v" A* ] }
1 V; M6 ?; ^" ~! [, Z1 X5 J }# Y8 n/ U7 \6 c) Y& K% a% \
: P1 J5 `0 w+ p9 [ W! e7 ?}
" [: J+ y* M9 ~0 |( [& u
) U! l, c. d' C4 Sfunction getRGB(colorString) g/ W/ k. B. ]/ m: W0 j1 O
{
: v9 I* U: j4 M7 y6 H0 }$ ?1 Y var RGB = new Array;
! m! {6 J% P/ x6 m" f7 p" W( b var tempSting=colorString.substring(4,colorString.length-1);
) l) V$ A! q& e( S, { var tempArray=tempSting.split(",");
- a* w: ?, A- [: p1 [
( U, h' `/ g5 d1 e8 W/ z RGB[0]=parseInt(tempArray[0]);+ ]9 o& ~/ a0 K3 O& H
RGB[1]=parseInt(tempArray[1]);
8 a M6 h7 _& u4 U RGB[2]=parseInt(tempArray[2]);
0 M4 V# ?# x( {5 E" } . a# I' X3 r7 [2 q8 K; _
return RGB;7 I+ n+ L4 E6 o: O% ~
}
5 l' }1 I. ~0 ^& C/ K' Gfunction keys(evt)
0 N) G9 n. P3 M6 T8 `1 L e* C4 R { 2 p: c4 V" }- r9 n* T
if(evt.ctrlKey && evt.keyCode=="81") * c% h/ ^, x* n
{
3 T H1 k9 W G/ c0 q9 F: k CleanHideObj.on(0,1);" ]# \8 s5 X7 P! a a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # ^% r4 G1 }* i: ^
7 G8 G3 T% n. i }
- B" D7 z. \$ P( Z3 a; h7 Z) m }
R. v0 A4 S, W Odocument.addEventListener('keydown', keys, false);
) p; Y! M, H, ?" D5 AGM_registerMenuCommand ('Clean Hide',. d [% ]" g5 V0 m3 T0 _, B
function(e){
* y0 v9 z8 t2 P# OCleanHideObj.on(0,1)
9 g8 t$ _6 I6 K' g z1 }% n, `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
c; Z0 _7 _ y- Y});
3 P2 z. L1 e F% f8 J |
评分
-
查看全部评分
|