|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / r$ f$ z! b" j$ `* L' Q
. D6 Z/ K$ h# M, t+ f. U$ v4 O火狐插件,用猴子! Z9 U3 B8 {5 R' A$ N
. q: H# ^* J" x' i2 `7 a
var debug=false;
/ v2 D6 E! ~: @! z) W+ Pvar CleanHideObj=new CleanHideClass();
& u+ s" }0 V1 y. z) z* N9 K- V4 h4 D8 \. H' E, g
function CleanHideClass() % b( ~+ B/ K+ D5 O# ^
{ ) o* K, j+ A% F" g( O S
( a( f2 K: D- ]$ m; [% A/ I E
this.on=function(id,bMZ): Q' y9 P/ }& P* b- }
{' U+ {- o$ e5 ?, Z( M0 [7 @
( r: I9 R/ k1 |) R, \2 h& a8 s/ v" F
if(id == 0)( s: T& v1 Y* f9 b5 F7 T/ i
{
; Q/ `6 n- p! l! b7 H var page=/* document.getElementById("content").contentDocument */document; " r; y3 M+ b' B) [# o5 [$ e) c) t! S8 t
this.RemoveHide(page,"span");
4 H7 ^. m Q7 U9 E1 Y1 C* X$ F$ ^ this.RemoveHide(page,"font");8 [- {6 g, L7 N# {' j1 D
this.RemoveHide(page,"div");4 [( r8 }8 Y& e/ C7 p: }9 S
this.RemoveHide(page,"p");
1 m H5 Q" k8 e" A" m4 h $ r# }8 Z" a' }: b8 _' s
}+ v* s3 v% K' u2 G
( Q7 h. r2 ~: O z
}& c4 ~4 M) y$ y4 s' s% p! f2 V5 o3 s
this.getobjstyle=function(node,prop)) e4 V$ C X4 G
{) m& V( N7 w" D, s( A
try
) L# ^* V! {) q {5 n% K- I7 g ?
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; G- R- n8 x. @/ N6 o% H2 t
}
?, ]1 R7 i' n, [2 X1 T! i catch(e)$ d$ |; s Q2 I% F( W6 l
{9 g" M( d2 N7 V! T
if(debug)
9 h8 F- ]& {7 ? {1 t# s* J1 r7 K5 b" \2 M
alert(e.message);( n: o- s g7 I4 h2 d& h
}6 a) a6 C" E0 W Y6 b7 p5 v
% N4 K0 I: e/ D9 }# h6 s! B4 G
return "200";
- N: w: N2 Q( E( h5 ^7 z( R }
]) p& w/ \1 J$ H }
7 \( e) u2 t% n, t
& _2 x: X4 P" }% c0 Z this.RemoveHide=function(page,objname); i8 p+ |; u7 K% k
{9 D+ @5 k, X* A" o
try
^+ z3 k$ U+ e7 L; l* V {
$ B) ], {7 A% U! F D9 V/ [1 c# m var minValue=15;
6 E2 k3 F2 Q1 N- H var objs=page.getElementsByTagName(objname);
5 P* ~5 s/ ?" l3 q: d" H* O0 U9 P; ^8 t2 A5 ~
if(objs.length == 0)
/ u! [& l1 I9 s; J; i) p {, e& K$ o) J: L4 p
if(debug)
3 v$ n7 o1 Q) f3 I( c- s+ M' r {
+ I5 M- {3 r- b) ^ alert("no object found!:"+objname);$ y2 k6 a8 ]! J5 I5 G
}
6 C/ F, z1 y" m0 {) Z+ j0 ^ }
9 s# F1 |& C) L else
# ~7 }* [7 ~+ F1 Y* T2 q6 H {
v4 Z7 g4 M: Q" ^5 q1 I$ k$ j9 E& T5 m 1 L& I7 i: k$ h3 k* A1 Z8 J
for(var i=objs.length-1;i>=0;i--) % l+ S; t$ |+ U6 [' g0 G
{1 ~" a8 m5 m3 ?) N8 ~- H$ e
var node=objs.item(i); 4 `1 }# o4 p, n6 @5 @
, y7 L/ b" t- r% ?5 H( f4 v. | . a# ?6 H4 q, @( ?- b# i7 J/ J
if(this.getobjstyle(node,"display") == "none" ||
8 ]5 b$ p9 \* r( e7 M4 h7 q this.getobjstyle(node,"visibility") =="hidden" ||5 b+ P$ ]3 X0 W
parseInt(this.getobjstyle(node,"font-size")) == 0) / _+ s1 B0 \7 ^- m
{9 }/ M# @( l$ I% m( L g# s+ P
if(debug)+ Y+ @4 S" x# o6 {8 b# g) Y5 E
{
7 L- `+ W2 O, `( i; q% E alert("remove invisiable!");! P3 y6 d+ y' Y; v1 O$ F
}
5 _/ |% T$ I9 B Q# t5 A( _ node.parentNode.removeChild(node);
$ T a# G7 a5 k( F" i 3 J7 V _" ]/ k6 v F ?
}
, j: U/ O& N9 \6 c0 _! k else
! O, p, y4 j9 s. G. t$ {; l2 N/ p/ Z: X {# g0 D* H5 j0 B
if(node.parentNode) # {( g7 K0 @" Q1 M# Z3 K
{. }- N4 L, _, g* \; N
var orgNode=node;
% d, C5 ]; Y$ ` var orgColor=this.getobjstyle(orgNode,"color")
! C, e$ t( X {" g6 M! s var orgRGB=getRGB(orgColor); + l2 L h3 l& n
! ]4 s" ]1 o+ I, X, M
var parentNode=node.parentNode4 L. t+ M! }, i( A/ o7 t" O* J6 x& n
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* B& g$ U; z! ?8 q# n6 K 1 }, e4 |0 ?! E+ X, L( S
var isLast=false;
% m" M+ p6 \- V% i4 F 2 ]0 ~: y1 p" O! @
while(parentBgColor == "transparent") 3 v# Q$ i0 b7 w
{8 v4 n8 B( U5 [* |
6 s0 t! P; O, ^4 D1 h% W, Z
" X6 Z8 ?' z3 f9 }8 l& _- p
if(parentNode.parentNode == null)+ ^$ [. ` Z. n+ ?+ U4 f# ~
{
- R, b9 d4 @% \# c, i' U/ ?6 B1 B6 p isLast=true;
% u# L5 C0 D/ }: @3 G break;
8 }$ i& L/ m) V2 O5 b }9 R" B y* P0 V( b) x
parentNode=parentNode.parentNode;
3 k$ u: S1 Q1 [0 l! H, ?, E parentBgColor=this.getobjstyle(parentNode,"background-color");
5 u- ]% x1 U3 v5 x; ?5 x" f+ e1 X% A: _- O" g
if(parentBgColor != "transparent") + s+ y I0 g; D4 v: q3 G8 V3 V; c. c
{
N/ I# `2 T9 l break;8 @1 u# x& F1 k0 d) G
}& w- m1 `, ^6 B& J R& @5 l8 \
}* y, o% i, q2 @) [: c- N
if(isLast) , C) H2 ]! l! @9 G' Q
{0 a# v4 R! `" r' S" |* R
if(debug)
; M7 m. j `. W {
# ]2 }/ ~ C3 c7 v* A' ^ alert("last!!");
& c. }8 u9 [% J; w$ [ }" {- d k" d' g
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 o$ j- s* ^: m: C3 p# x, ~8 ^
{' Y4 ~, r! p0 T* B$ R0 k6 l
orgNode.parentNode.removeChild(orgNode);
0 o' \) Z. g( h. p$ Y0 @ }
5 A- c" k! b9 l3 d2 S }$ c1 D! n4 g8 I1 Z- }8 W
else# h4 t# h4 |( U& j5 ?% o6 x# Y2 F
{
$ z c; o& ?8 F if(debug)! d0 n2 K# d. X5 R6 [. }
{% J- c1 w i/ V- ]$ k' D( q
alert("compare color and parent bgcolor!");
8 V/ x% Y9 F: r2 a0 o0 ` }7 L! T: f6 b0 e t8 g
parentBgRGB=getRGB(parentBgColor);$ A* ?0 F3 D" _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, @( P& m) p+ F& u4 g) I, t {0 F- e) q2 S p, m' v. n, i
orgNode.parentNode.removeChild(orgNode); & X$ p/ C- ]8 m! w. u8 B
}# G8 ?( K0 u" O, u! |1 A
}+ P, L0 T+ ~- f9 H8 B
}- O! {% ]6 ]: X1 Z, x- d
}4 G0 ~7 i( K3 }
}0 Q1 H! u3 Z, e- e8 q
}
8 n# b7 l z' I6 S7 Q1 l* x* N1 D
$ Q9 v+ ^1 p" Q8 Q: s! I
& t3 O9 p4 {+ u( ^ var itemFrames = page.getElementsByTagName("frame");9 h3 j6 ~( \+ Z. M- e8 q
var itemiFrames = page.getElementsByTagName("iframe");
( u- t% l# r8 r
7 R0 w# ^5 E- ` N var frame, iframe;
( g% |7 t0 ^) I5 @ if (itemFrames.length > 0)0 I# f' q6 C! X d3 y5 ~8 t+ ` i
{
& h3 f/ J) O: R0 ^: g4 i9 H! W for (var i = 0 ; i< itemFrames.length ; i++)
/ c3 X$ r; v- T* {" s0 L9 v {
3 b; `& m. N l# A8 t! J frame = itemFrames.contentDocument;$ s1 `) O# W' t" ~# Z5 S1 N! C. b& _/ e
this.RemoveHide(frame,objname); $ T/ K a S3 }5 N1 H
}3 c% U. o% \# q/ ?$ Y
}
" v! Y+ H$ E# ?# V& o' \( | if (itemiFrames.length > 0)
6 _/ n& U" t% I- V {
8 f; A6 D, b0 m. }7 h7 b6 N for (var i = 0 ; i < itemiFrames.length ; i++)
p# I8 l7 b0 |6 D: z3 P; ^3 h {
4 \$ a. }) n) G' f iframe = itemiFrames.contentDocument;5 e4 `1 h$ D" B2 \# o8 [$ O* `( Z
this.RemoveHide(iframe,objname); 7 W. x' v6 W+ V1 Z+ B" f
}! J0 }+ I" k* V( G6 M$ ~0 ]. ^
}
$ Y% W5 ?( C) f9 b+ r# W }3 s7 g c) o7 ?7 h
catch(e), o+ W' f* |8 I: Z$ q
{
3 ?& O2 t* S$ r; [ if(debug)6 d# x/ E- A# [5 z) h# {5 E
{
# W- b' ]) B1 A( F* e' N& H1 E alert(e.message);
% u$ I5 T: L3 J$ S5 s }/ ]+ N$ ?) a2 [" H2 F* K7 b+ ]
}0 Y0 c9 l& Q* c4 K2 m# J& ]! U
}
& N' `6 s/ n$ b6 o) P! f
/ X% q: ?- {6 {2 L' y3 o% M}- c2 U7 T3 s r1 j2 e0 d* w
- l [; s9 u3 [1 Kfunction getRGB(colorString)/ y- A0 _) X% U8 o
{
6 g% \2 w ?) r1 {6 Q; j var RGB = new Array;( Z3 w/ |, ?; Z+ z
var tempSting=colorString.substring(4,colorString.length-1);" y0 A2 X* f2 Q9 v
var tempArray=tempSting.split(",");
6 K8 T1 @1 n' _, O1 N; f
3 x8 |- B9 C' T( B1 o' x RGB[0]=parseInt(tempArray[0]); _9 t! |+ }- c0 k) q
RGB[1]=parseInt(tempArray[1]);
5 ?' s9 ?2 @1 O9 U/ ]" A; o RGB[2]=parseInt(tempArray[2]);
$ Z; l G3 A( S
i( w+ m. ?- m) T( C return RGB;
$ S4 B+ p$ _# H* _( T}
/ T! K$ F: r k7 y, sfunction keys(evt) 7 g5 e* `& I& \) i+ a( F% h
{ 1 q, k0 x( M5 b F% Q
if(evt.ctrlKey && evt.keyCode=="81") 6 S2 q, _$ R: U
{
1 _* }' }8 \3 n3 L" P6 U5 ]& u: f. M CleanHideObj.on(0,1);$ D4 A- t5 K- {8 K% @% Z$ J% a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 T+ R( j+ k* @
" @4 u" K1 F( Q: C }
& B7 u# J8 E8 j; Y% F }
* N+ k0 F2 T. i5 ndocument.addEventListener('keydown', keys, false);
1 n3 q% y$ ^2 f6 \, }$ p. SGM_registerMenuCommand ('Clean Hide',9 ^7 p1 r5 }7 ~8 r0 K* M U* F' s
function(e){
' T S4 \& {3 Y! N% ?$ [% ACleanHideObj.on(0,1)/ P6 R0 @5 R$ ^$ t0 C' }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 A' K! A" S4 H3 O
});
0 [% y) r7 F8 _* o0 e |
评分
-
查看全部评分
|