|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& E9 u1 u8 B. f4 i6 q& u" P7 h& J% d- m+ @) [6 F8 N% Q6 I* ?
火狐插件,用猴子
" |! D! N1 B0 B( f5 \) g3 b1 }5 d
var debug=false; n `( `6 l" H5 X" Z* c
var CleanHideObj=new CleanHideClass();
( i& K. E( Y- W5 t) w! J
" S+ p Q0 c. _5 @# m8 L1 W ffunction CleanHideClass()
8 f+ N( k$ b& U' E{
; `' z/ A# {( n( n4 t : i" U6 y N& ]9 [* Z; R
this.on=function(id,bMZ)
% i8 w2 L) V2 h1 C {- _2 l; ?( c* |
# K1 a1 K& Y) K, y& D) s if(id == 0). o8 {( G( ^+ \0 J/ z) P \
{
! E. w* S' F* b! {3 D var page=/* document.getElementById("content").contentDocument */document;
3 {5 X) V) K' u* F this.RemoveHide(page,"span");" u; }) ?; m2 p8 t
this.RemoveHide(page,"font");& \$ K9 r/ [) L1 x
this.RemoveHide(page,"div");
$ Q9 k% Y9 w- r& [ this.RemoveHide(page,"p");4 X# g0 `: q8 U6 F
3 b9 n. E% U3 g5 H
}( Q3 z! w/ x9 V/ r/ n0 l6 S1 O; }+ H
- g, D5 U: P" U2 S/ U
}
' @+ s1 Y ^2 I- j& e1 H this.getobjstyle=function(node,prop)
% i: O; I6 m. w- |9 H6 ? {
\8 c- g E+ ?0 R try n' N/ N7 y0 y* Z, B9 N5 C1 V
{% G( q, e" I ^3 ]6 p( ^0 `$ O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, {4 h+ d# ~2 _% I. \
}
4 N8 C& n( \- x) |; F catch(e)
" V4 Y: s7 K7 E( A1 c' e {& O( P, X6 E$ w( [
if(debug)
; I5 H" G6 ?" L" Y3 z; U! N: n! ]8 G {- H8 @! o* Z2 h& ^+ C9 R/ z
alert(e.message);
; Y3 M1 l; W9 r7 ^# J }
; M7 M! l/ b2 e: ~2 v# c8 Z- V
0 v, _, H% _4 P return "200";
: V1 w* K+ \% s# C) m }+ m) i, X( F; r7 c2 Z2 _
}$ q* p4 E0 A$ S% l& o
$ I% S7 I' E x. n/ a
this.RemoveHide=function(page,objname)
f" ~ S( L. G; s& _' V {* D# O$ y( O5 o. m" k: A! e
try
: k x1 K6 a- @- b$ p, L# X1 p: Y {
" p7 r5 [. t% z3 ~+ B& G var minValue=15;+ |# J6 Y- Z% ?
var objs=page.getElementsByTagName(objname); , `! K, ^/ V) w9 f1 W" u
, q- ~* B& Z/ z P
if(objs.length == 0) 2 E' q3 _' z; Z& a! v" s# T
{
0 \: p/ `- ?7 c; C if(debug)( c8 ]# `6 u- b% _% A; f
{$ ~8 ?% t: k7 q* {" J1 ]8 D
alert("no object found!:"+objname);
0 b5 z) C) M2 g }
* z, x: Z8 [8 W+ E) G1 W; h }
* Z1 m! d) h- ^9 o else
; {2 a( d5 l9 b, s0 D# T9 g7 @/ U {
/ _3 ]: w2 ~! |2 c9 n" } * z x- ?5 p8 |4 l: I
for(var i=objs.length-1;i>=0;i--)
# B" \. o, `* l! | {/ w! _$ O# _3 a9 e
var node=objs.item(i); ) W) L" E* e' I9 ^% m7 C
- I8 o: n$ ~$ y* k9 l0 B
: n: }9 A& @7 W% S& ~
if(this.getobjstyle(node,"display") == "none" ||
* k+ g. u/ L. k& H& k2 U this.getobjstyle(node,"visibility") =="hidden" ||
- Z" p- ?( L0 N0 V# a6 M3 q parseInt(this.getobjstyle(node,"font-size")) == 0)
: \' S% Y2 ~! [) z, t {
6 `( [# f9 m' }% r$ x( i# N5 o if(debug)
' ?) V& V) U9 s+ S0 E) J {
% s# \8 Q+ C1 F9 D: J/ `- x alert("remove invisiable!");
3 P% ?6 e' I5 g }+ u8 j; U$ N0 o p
node.parentNode.removeChild(node);* h3 X; F% p/ h
2 z3 a' L. f! _+ _ u5 K# w" t% y
}
/ A' Q2 C- Q i% A8 A else X. c$ ]8 j/ |$ l/ d
{: k8 w/ y/ C$ o" V0 M6 k! v2 Z
if(node.parentNode)
( a" m' b/ @1 Z {# d. ]4 k/ b7 B8 G6 `- X; K- W) O
var orgNode=node;" d- l# Z4 J$ k* r; e$ U$ Z+ t: f
var orgColor=this.getobjstyle(orgNode,"color")
2 R$ u0 I. s8 t1 G6 T var orgRGB=getRGB(orgColor); 4 L ]! U m% C5 a% m4 s
& M8 B1 R- n' I# s+ u4 y0 h
var parentNode=node.parentNode
. ~, U: [1 ^. w1 F var parentBgColor=this.getobjstyle(parentNode,"background-color");
) O {. z; Z' h0 t' j; r( Z
; H3 a& N( e' l7 u, x: R# o0 p& w var isLast=false;# `; N8 V4 |4 M# | R
q6 D/ @0 P. p0 v2 C# ~ while(parentBgColor == "transparent")
4 q4 U- z* w+ ]8 g( j# o. ` {
" u% B% U( _5 _" G- u. a
3 e5 P3 a. J; e7 `- s) n3 c- B# K! K 8 D1 x8 L/ H! f+ W4 b; ]
if(parentNode.parentNode == null)
& r, G8 {3 Q U4 w V4 p {
8 c( h& w8 f) y. G9 n isLast=true;' w# u. O9 a6 F+ e: O' m {
break;
. X6 m( x& G# j; { }5 ~1 A4 T& Q+ T% s* C6 T1 @
parentNode=parentNode.parentNode;
* J$ \( T& ^( \6 M. C, @" G% L parentBgColor=this.getobjstyle(parentNode,"background-color");' R% M1 B \3 K3 |* J% o& G3 s
5 S7 M- W. m4 E if(parentBgColor != "transparent")
1 L+ Q( F& c* W( P' N- ~( l {2 e: X8 y" _# [
break;
% `. A: Y% H7 I3 c$ b" c0 { }
, }. J% G1 S+ u; z2 x4 d. U$ ~! y }
. Y. i$ }9 d2 N0 z. a if(isLast) , X3 ]$ W; e. j0 b' z
{( n9 d# z: s8 e3 F3 j: g
if(debug)" y0 i0 X/ g$ X( a4 V# ?! t+ }
{' w4 K: t W1 n) j4 b
alert("last!!");/ j+ U# N7 A; v* ]/ D
}, x3 Q& ] S, [) F5 q7 q& X% C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# `7 i" M9 e {8 k& J5 t/ @% l, L {' @2 A) q' ]) D6 U" j! [
orgNode.parentNode.removeChild(orgNode); # u. {9 R" X- ]; b5 O" n
}6 ]0 P/ c5 Z9 ~: \
}# P; r" @' g7 I# _
else
- c( ]$ L3 }* K/ D* i {1 I$ C. o5 E- m$ U# M
if(debug)
, b' Z" i5 E( C6 f6 u {
8 ^7 f+ _6 C; y5 N s3 u1 K0 h7 s# K, Y alert("compare color and parent bgcolor!");4 W3 O! F% U# [
}
u' P6 @/ d, e+ D parentBgRGB=getRGB(parentBgColor);! e* Y. a/ _7 p" M; D2 X9 |1 T' J
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 r/ b) L1 ]. N {
: r' T |) X& Z7 ~% a orgNode.parentNode.removeChild(orgNode);
+ i& R3 Q$ P3 y }' U7 Q. ^$ b7 A U3 B
}$ [4 {4 U3 U, z) G) F( ~4 y& _
}1 I I! R" r5 Z# m: c
}
$ O! G8 d: l4 N3 V; Y* K) c6 \ }0 R$ _1 F& {. l) t
}- O( L7 ?# ]: x* w9 }& U+ c$ N9 Y
0 p. e3 t/ p) k* K2 w" N 9 ]" v3 V- W* L5 O: X% U6 f% n
var itemFrames = page.getElementsByTagName("frame");
; U9 |+ i j9 ^! _; B4 a var itemiFrames = page.getElementsByTagName("iframe");8 x" L) z( g9 A7 E5 V( E$ b
" o$ O$ V* a& ], [" F1 u" q var frame, iframe;
- H! J; p/ b7 p8 L0 ~' C( M6 c6 R if (itemFrames.length > 0): L2 A7 _# {! u0 |7 q3 k! K) g
{
6 J$ N* t& x) Q* |( V for (var i = 0 ; i< itemFrames.length ; i++) ; D) i, U- Q, F1 r w
{" }) i& \. F/ ~* O) q* A# e
frame = itemFrames.contentDocument;- {2 R. T1 q+ H% o- P; \ a- c
this.RemoveHide(frame,objname);
% ]* s5 ~* |% d/ T7 N4 q j }
0 n3 `. ^' k8 ]! C, H! k4 a }" p+ S2 c: u& E
if (itemiFrames.length > 0)
/ S5 W' s4 r0 X {7 Z' g- u! T, ^
for (var i = 0 ; i < itemiFrames.length ; i++) + j3 r1 M' S4 M, Z( b# r2 w
{
/ B4 h, ?' I4 H# U iframe = itemiFrames.contentDocument;* x7 z0 Z8 y- J" N* o
this.RemoveHide(iframe,objname); ( c: e9 X6 y. c7 T8 |+ m- ~
}
N. C3 Y$ z7 n( ` }' C6 u" P3 d) `/ C
}
& T" [/ h% T. Q) X$ i catch(e)7 x: q- |" z8 T2 a; u( F
{
6 C; D% @4 j, r2 n* k if(debug)
& \) v# N8 p- D: D, \ {
) B" n) V5 w. b5 P/ O alert(e.message);" L8 q6 s% j% G' K
}/ K, Z+ j$ J* j3 ?8 `
}' v8 p% |6 `' s! n" g' _
}" x1 Y: ~1 m* V2 ?2 U
, @4 w3 i8 J$ x, V}
. P# R, h9 {, w5 o7 a, V0 R4 W$ i2 b k6 L0 ?% f! O! ]6 D
function getRGB(colorString)
' O4 c. l0 }3 I3 I: O{
- A, x0 S/ A7 V& S$ v% b var RGB = new Array;
$ R' d" V% v8 q! R( l1 Q- @ var tempSting=colorString.substring(4,colorString.length-1);" n. J0 e9 s* o; Z: R. s6 L
var tempArray=tempSting.split(",");
0 E- w- k# g5 P: M* F* M- z3 e
RGB[0]=parseInt(tempArray[0]); r9 j1 P2 X% U+ z/ F9 k* R1 M
RGB[1]=parseInt(tempArray[1]);/ [: D- ^7 l M. k/ Q' A; o2 s$ g1 E
RGB[2]=parseInt(tempArray[2]);" g4 t, o' R" }; N& W8 i; ?
, _1 F- ~4 q6 N# C2 F return RGB;; \+ n% o2 }. G# l+ ^# p6 _
}
% G+ J7 K: M! P% G5 U- }- W- ^function keys(evt)
* d. G5 p2 N3 l9 v { , ~; M4 K3 C) Z& U# `- m4 s- M. t
if(evt.ctrlKey && evt.keyCode=="81") # ^8 Z7 [5 I0 ~* Q
{
* E9 L& \- W; F- A5 M% l+ S3 l2 n CleanHideObj.on(0,1);2 l* p! x. \1 V7 R& k6 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 W3 e* Y( f! g, s* [9 E
2 q) U- X$ j/ j }
" w* y( R$ z& }' @$ I' G) P }
) y4 V& e+ j3 E2 B' M: a/ _document.addEventListener('keydown', keys, false);
. ]% O6 R8 Y& @- o nGM_registerMenuCommand ('Clean Hide',7 |; G+ p7 C4 X0 U; p; y# `
function(e){1 A+ f T& {1 W/ l
CleanHideObj.on(0,1)3 m: d+ v/ e: N/ |9 c" S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; k! w& ~5 A5 {! v/ j9 c9 c, z
});, c% x& ?, D# s) S
|
评分
-
查看全部评分
|