|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 @- y& ]* i7 N* A1 T& u
/ v) m6 O7 E J/ u5 w* Q8 O' w
火狐插件,用猴子
7 R% x9 ?0 w5 S, ^$ C6 z- x' G) C5 f" D7 b
var debug=false;
+ c6 }( \% e& k% J( ivar CleanHideObj=new CleanHideClass();0 |& |% i( {% G1 P
1 `# l( ^) q9 X: @0 Wfunction CleanHideClass()
" r- @) s( n2 A2 n$ u- T. @{
" h1 h' v- f- a" A5 z0 v
/ N/ j$ m* E9 n& u9 W& ~, E$ _5 F7 R this.on=function(id,bMZ)
9 ]/ S! v; o) P, N {
9 e M+ n2 d6 R; i% K
# u' A8 }$ L; |; p( M& { if(id == 0)
# X5 U' ]0 i9 T! A3 g: e# _7 @" ^ {
' z: c. ]3 H& ~# N+ T$ G6 f: o% P var page=/* document.getElementById("content").contentDocument */document;
- A0 A" q; i( r1 N# i; _; H this.RemoveHide(page,"span");
4 C' t. h H/ p6 }8 j this.RemoveHide(page,"font");4 ], P" m3 A. |
this.RemoveHide(page,"div");
% f3 n" o- @4 S( S# o; t* {2 P this.RemoveHide(page,"p");
# S) g: c, @7 b1 @, G
* X9 p: W+ ?" Z+ r5 R }
. m4 s$ a" D7 Z/ A6 M6 k4 I7 Y- ` 4 J& M% U: _* F% V
}
- W9 P* S9 p* a. H7 }+ g this.getobjstyle=function(node,prop)
! X( Z9 h2 k D. f7 d {) K" m& g: j) h
try
R1 i& i, i6 ~3 T$ S: C2 s {
8 U8 B# k4 X* N( i0 b/ D- K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ h" L" m- ]% t$ J }
8 S8 W: d% w# e- w4 I8 f catch(e)1 Y5 B5 ?' d7 R6 `$ H
{
, i* X, n' X# g, F% I0 Z" X$ S7 s$ h if(debug)
8 G; F/ h4 W4 d {
5 B; W0 j) a: H$ \ alert(e.message);
% v3 j& r5 L. t4 E% D3 G/ @ } }7 y; p6 V! f: \! p3 a0 e0 T
& ^' m* r$ i/ ^2 B$ i$ L return "200";- p- x6 e' z, P+ [' y; E' i
}) W- H3 ~5 v( q' m/ _/ K* B1 o
}
, j2 g i4 L$ q9 g( D
( Z D) |; c% Z( ]: b( n this.RemoveHide=function(page,objname)$ s4 O. ^/ z0 L. V: P+ h4 B" \
{
3 E! R P6 T) D6 E- o% d try1 H7 B! E& ^0 a B' N) r
{( B& r5 v! O0 K
var minValue=15;
7 x1 g! x; K0 v var objs=page.getElementsByTagName(objname); ; u6 r" y7 {$ H! H+ f5 i
6 Q; l1 M' e* C) y: d if(objs.length == 0)
4 E$ o: ?& k. t- E. t' q {
7 T6 l9 Z V, _8 I2 ~. O& I9 u if(debug)) {% T4 c( J0 F1 B
{; ~. o: k9 K* `1 K7 Q
alert("no object found!:"+objname);
e' W7 d9 M) Y |- b3 M }
2 N) T8 K. u* x$ [2 h6 B }
/ S4 E6 ]2 y) S w# Z) ^( ? else' v4 U4 P2 ]. a% Q1 A3 ^) D5 g: v
{. k8 _/ s. ?7 p" n' Y6 q% |' a$ y6 I' _
6 I8 l- w5 B0 B$ k/ `6 F) `
for(var i=objs.length-1;i>=0;i--)
2 Q2 W' Q( A0 C) M {( n& Z- @5 Q( y# J
var node=objs.item(i);
& O5 o% [! e7 f( M( v5 Y: T
: O C7 [# X: `' ?
w/ b M/ s% `6 V if(this.getobjstyle(node,"display") == "none" ||
/ P) g( r4 b t, L this.getobjstyle(node,"visibility") =="hidden" ||
. r. S$ C( S# h. z parseInt(this.getobjstyle(node,"font-size")) == 0)
& h6 c' X n; H" M {; G o, X. e9 w# X$ u8 g
if(debug)
4 ]! c4 E! X" p) R/ i0 N {- E4 ^' @. h" l- o
alert("remove invisiable!");
* X5 b# h+ ~7 o5 G) S }6 O1 R- w8 ]7 y: b( n! g
node.parentNode.removeChild(node);, u: G, k! T0 [+ [) x4 |1 c& T
5 o1 S' \+ O3 ]- r! x; d
}
4 p5 M1 `3 h! |) ~( @) o [ else
+ X; X) ]: E1 Z6 i( P$ ^. e {
5 N9 @ W5 j6 u2 M3 ^ if(node.parentNode)
+ h' w3 }# R5 M {6 Y' C/ o- b1 e5 l. @1 Z
var orgNode=node;& b' V5 X: b& @& p K
var orgColor=this.getobjstyle(orgNode,"color")
- x: O* ^: L# W- _5 \1 \# c var orgRGB=getRGB(orgColor); 4 h5 [) x5 c, o$ ?
1 @8 e- u6 X$ A# h1 s var parentNode=node.parentNode
' j( {! b, Z3 _: i1 n/ Q3 n var parentBgColor=this.getobjstyle(parentNode,"background-color");6 N l3 P+ D. v q- I
; y; S. Z! u# C2 [
var isLast=false;1 o6 b$ h6 J# r0 L: O! ?
5 G: m& ]% |' j* g' g# R while(parentBgColor == "transparent") % V8 X: z) d8 H. {( S! ]
{
w4 D& U% ?* k- }4 _ % d6 f( J& u6 J9 ]+ v& ]
; ^( c- R. ^4 _ H8 Y, ~
if(parentNode.parentNode == null)9 H9 J$ B1 x$ r4 L, @9 s
{
3 b* o* K$ k8 }: { isLast=true;5 x$ `' m' |2 V' h2 S6 {8 S
break;
) O, Q- ~9 t! d0 f }& ~: c2 }% l3 K, s
parentNode=parentNode.parentNode;
1 R3 @" N. V$ o( m8 c parentBgColor=this.getobjstyle(parentNode,"background-color");/ w' |$ o: n* b4 w2 l2 Y
: a6 o6 `' \: M: L
if(parentBgColor != "transparent") ; k/ h" f7 T ~/ @5 K" y4 p9 h
{
7 X& g& K* j1 `$ M break;
/ b e; I0 S9 B' F }
* a3 T" G3 j0 z9 z3 l: i0 X% K }
. Q/ ~9 D/ C8 L+ k/ u \. r0 O+ Z4 p if(isLast)
+ d* \0 e# q' u2 s8 Q$ o {' h4 k$ q$ V3 K7 o" t; N! p
if(debug)1 H2 y: q/ d8 ~
{
: i/ |* @6 p" v- k; v alert("last!!");3 e+ b; q8 y* j' p$ u2 [* e
}
9 K# U2 A8 c+ z# m) c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) `! Y* M8 ^7 A; a, @
{* s. x" r" \ @+ n. H+ o
orgNode.parentNode.removeChild(orgNode); ! d5 u) S+ h/ D& y- _' a
}
$ k4 z5 z1 m$ |1 K }
# F; p' j# ?' z' N2 w9 a# k else7 n0 s6 r. F' d; \3 W( o! i' E
{
$ l6 u, F/ y# M# F$ T1 C1 m) u if(debug)
/ ^ c2 G) v' E' p, j4 C {
; A7 a- r) P$ \+ n' l N& \" x0 W alert("compare color and parent bgcolor!");
; a; r* e6 i! } }
& V4 S" N1 U4 j# D parentBgRGB=getRGB(parentBgColor);0 L5 u( c" z2 Y: ^# T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ S* @& ?) H: k1 X% N3 B7 x
{$ k: e) g/ r4 z5 b( d7 p
orgNode.parentNode.removeChild(orgNode);
j0 C! F' [& z4 O9 |3 `% p9 d8 o2 u }4 E' p/ q! k1 _/ e
}: a5 U6 _; } E- L9 P
}
, u5 H- d/ G8 Y) D: F' g# z* ` }) K: V& Y; u, y1 z* R+ i
}+ g1 ]* d4 h: D. N! {5 \
}; Y7 m E2 S7 _- a) X
0 o! W; E" e9 {! Z
2 o: I( X/ ^; H5 z8 M
var itemFrames = page.getElementsByTagName("frame");6 z+ @2 [; A# S5 g
var itemiFrames = page.getElementsByTagName("iframe");
* L+ a3 j) J9 B o7 a5 F
; ?1 E# r4 w! O2 m" U" Z) u# s w var frame, iframe;4 }/ o5 _7 `" t3 {* S
if (itemFrames.length > 0)
. j6 J$ I8 F; x- f8 a+ _/ ` {
! n2 N0 P9 Q* V; H/ u4 q2 h4 U ^ for (var i = 0 ; i< itemFrames.length ; i++) & `7 D& I1 L4 @+ k* z& U) A
{5 G8 ^$ j ?7 ^/ e5 E% |
frame = itemFrames.contentDocument;7 c1 q0 c' f( X0 J0 _. k+ s
this.RemoveHide(frame,objname); 7 ^6 H9 l j6 x% s9 g3 D' i7 {
}
) o' Z3 B) Q5 J' F0 z o }
7 N7 h0 _" Z6 \; d/ n if (itemiFrames.length > 0)
$ B9 q( g- a ` q { Y0 g$ a% h* O
for (var i = 0 ; i < itemiFrames.length ; i++)
7 y5 m% X0 a5 D. ^( w4 [8 x {6 @4 X- R; a! y! G7 U
iframe = itemiFrames.contentDocument;
+ i" y/ r p0 u+ @ this.RemoveHide(iframe,objname);
0 H7 m, o8 J1 p+ A } o6 i# G c$ j9 ^( o( H& f
}- q$ Q8 E8 G3 a5 h5 g: s+ X7 K7 ]: P
}
4 W5 o3 t& V% V catch(e)* M3 o$ Q- Z' b1 q& X
{
; A+ M$ x# d8 a" O9 F4 }) h% m$ v2 E' t if(debug)
$ Q9 Y( M9 k. ^2 K# D {) N/ L( F! Z7 L% F% W
alert(e.message);
; g: \$ v( W2 e7 V+ R+ y }
( J7 m# R* Z8 ?$ y }
* I! @/ N1 \( r4 X* l$ _ }
! _) _ d3 Q9 D/ m/ p/ h8 X6 i
. A, V: ]0 I7 g" c8 P$ v; ]! W}
! C- v1 G" m9 M1 T
@' U2 X8 E8 x8 a* Z' pfunction getRGB(colorString)/ h4 \3 i* l: a4 E$ M5 T& Z0 z
{/ p6 U& e5 m5 G$ S# O
var RGB = new Array;
0 @ e! K: u4 m1 k6 G1 y" C( L var tempSting=colorString.substring(4,colorString.length-1);3 j0 f6 ~! A& k
var tempArray=tempSting.split(",");+ s) w5 M. w& H. l- U' f# O5 C$ m
d) F2 e' d& K8 C( E RGB[0]=parseInt(tempArray[0]);
1 z# X Q/ P" m; \9 T& W RGB[1]=parseInt(tempArray[1]); X8 Y5 D; F& U( R9 c& B) B8 H% [
RGB[2]=parseInt(tempArray[2]);
' A" _! \* K3 J0 o
, Z. I1 P$ B8 B return RGB;
( }' i! l3 u/ v- L}
3 ^4 N1 A* D$ \! Y, }function keys(evt)
# B; s/ Z+ I) a# k { , r/ H$ }) v+ j( a" z' @
if(evt.ctrlKey && evt.keyCode=="81") - Z+ j9 H) D6 }5 T% k
{ ( ]& x9 E- B; c" f
CleanHideObj.on(0,1);2 l3 q0 k+ H' Y& L3 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 ^# f* t) T! r+ I3 H9 P$ c
3 F" N' K2 R$ g# w }
/ w1 n ]5 n# C }
* ?7 ~! O0 C) |7 \8 idocument.addEventListener('keydown', keys, false);
$ [: l3 L& b8 X+ v: qGM_registerMenuCommand ('Clean Hide',
1 m7 E$ M* u3 Jfunction(e){7 r9 \) K% I# J3 @
CleanHideObj.on(0,1)8 \0 r! d' c: q, F' H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: e! c! U3 _( _1 ?1 O2 O2 b
});" v9 _4 G- L* K# @3 }( @: |" ^
|
评分
-
查看全部评分
|