|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( b& z3 ]+ R' j. u7 Q1 |$ a
5 h. l0 S. v& P火狐插件,用猴子
) m2 o2 O" \9 Z
& f1 K* j i4 ]% @! U6 F+ vvar debug=false; 5 r2 X! D5 {: m( M
var CleanHideObj=new CleanHideClass();
( f/ S# \' R G5 p5 L+ y' W
( b9 N& n G0 u" K& Q) ?9 Z: ^function CleanHideClass() ( ], P3 n, w- n! t& m
{
( |+ j" G D2 P$ }# o ) z9 O+ R5 [2 ^! d
this.on=function(id,bMZ)
" m9 v/ Q+ U4 x, ~8 N$ b% Z {
+ ^- J" v' U& o" n0 m8 C9 k 9 m, z5 ]& o [3 r
if(id == 0)
: B j" T5 e2 B3 _* Q" |' J {7 A/ _+ Z, n0 G! w
var page=/* document.getElementById("content").contentDocument */document;
* ~$ v5 ~6 T( d6 T7 m8 y- N2 P2 x4 f this.RemoveHide(page,"span"); I1 k. e. |7 a0 U0 q: T3 T& w1 R7 }
this.RemoveHide(page,"font");
_% ?4 Z) ~) ^ this.RemoveHide(page,"div");( X. X( i+ u5 I) }2 E9 l# l
this.RemoveHide(page,"p");+ n8 ]5 J& ^5 ^# L! Y6 N- H9 p
- k; b, ~; [3 N* M3 L" \# Z
}
8 Q7 G, \# M) g( C+ q' M
: W3 B2 C& N: `; v }
% E* H% X. B1 H. u# _- K this.getobjstyle=function(node,prop)
) }3 z- x. N3 k! f$ P0 l: M2 B {
8 M( U g$ \5 b; A( @+ w5 d try( {, e. A$ X/ X1 y& N
{' e7 P' ?& H' R2 @$ D' s: R+ h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& ?" r4 A8 X8 t% [9 Q/ x% |* v
}! `: k0 M" K, ~1 J$ Y6 q* U" [9 g
catch(e)
8 b- k9 b( j; n) m# A+ z {3 u; I* o* v( e5 g+ T, t. x
if(debug)
* y+ a$ {& Q* C7 e" R {
0 ~3 q L# F/ A8 A* M" z) X* s2 |7 N alert(e.message);
& }! [0 m6 w) s' l }
0 m2 ?5 L9 H9 K/ s
% R6 ^% Q& Q# V+ D6 M" Q return "200";5 \% K( G" m- m
}
) F8 v8 g5 s8 r }0 n" Z) V; n7 y- S7 j- a
* x( e5 ^. P6 z: M" B
this.RemoveHide=function(page,objname)# D+ P- _" _+ m! X
{& B6 m% S+ G$ f1 g0 K
try
, @1 H! \) X( }4 f; d: t. j {
4 r" y1 w* L1 b8 _( J# j4 u3 B var minValue=15;# w6 k3 A, {4 v0 n6 f* p& b* E
var objs=page.getElementsByTagName(objname); " W% G2 F0 ~8 {( Z4 [; z
: r7 Q; d! z r( R& I* p if(objs.length == 0) . U( C. c- e D* k, i6 p- t
{
" s- b$ G0 S6 C' T5 |2 O' Y if(debug)) \- i) p9 K( e8 e0 T* @0 {
{
; [9 S# F- @( x, K1 q+ @4 X9 a5 v9 R alert("no object found!:"+objname);- K/ Q! ^% q% e4 W" y; s- N
}
1 `7 `- ]! |1 q1 n; ?$ v, [! B9 E }
8 V; C6 L; I! i+ K: J( Z else) C( f' B3 X) w8 j4 g7 S
{
' e; [6 {4 t4 R' u% a c9 M
! E5 G4 [6 E! Q# e- t! }, @! t for(var i=objs.length-1;i>=0;i--) 5 [! F" V7 K4 ^- g2 g
{" l Y& R. D. I
var node=objs.item(i); " \* ]' O% ], u% L1 r; Q
* \" ^/ f4 O8 U9 n
( [( y3 C! q9 R& k if(this.getobjstyle(node,"display") == "none" ||
; {5 |, e& i; J% D this.getobjstyle(node,"visibility") =="hidden" ||
& q4 v3 p4 y0 p2 C parseInt(this.getobjstyle(node,"font-size")) == 0) $ y% A3 ^1 h4 x8 l5 q
{+ b8 F/ ^( D" ~, k4 H8 r
if(debug)
6 T* `* }# G7 n/ V0 y {1 z" }) Z5 n9 W }; E% S
alert("remove invisiable!");
0 t2 |% M, u y }
+ y+ G' O. B, @ s6 q node.parentNode.removeChild(node);
! F3 l7 A: Q7 \! p1 D' ` 6 h* C: z! i$ Z- n* d
}
' Y) o) x3 j: U4 X X+ n else
$ E" a3 d( @/ a2 P {
% e% Y$ P0 K) p5 U if(node.parentNode) ( j& `2 i6 h- I! n+ b! W
{4 q9 p4 r# j' [
var orgNode=node;- |* s) f% K8 e; j* S0 Z2 \
var orgColor=this.getobjstyle(orgNode,"color")' r. r& A1 ]% j$ b) {( `4 r
var orgRGB=getRGB(orgColor); 0 H5 D+ r+ P" |4 b
, S& k' i5 d7 `6 Y& v
var parentNode=node.parentNode
" ^3 Q$ o1 z' p var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 Y9 C5 _5 e. B5 c1 ]: T/ \* w% j / F/ X- \# _6 u3 H T
var isLast=false;" c& I! p' j1 E# d( F: C
" d( P; M- ~0 w0 I+ Q
while(parentBgColor == "transparent") + I) D, o4 ^# P# u! f8 h
{
" }" ?' R1 B8 ~: Q2 P5 t2 V7 d 9 z. O. o1 O# ]% v* z
1 Z4 O. v& v3 ^
if(parentNode.parentNode == null)
+ _# I; g2 y3 H6 v1 p V {. `& |1 P" n5 F, O6 y
isLast=true;
3 S0 M1 p7 }: }) h$ @ break;
$ W, U1 g5 Z5 l } f. Q" f# s+ g
parentNode=parentNode.parentNode;
! u$ X8 O) d' E parentBgColor=this.getobjstyle(parentNode,"background-color");
/ a$ f+ a0 v0 G& \1 ]3 I: W# E8 k
if(parentBgColor != "transparent") 8 A3 z. q6 }% E* ?& N9 a+ L6 w9 _; ~
{
5 H8 m" h4 j0 K8 z) A) v9 ^3 i break;- a! a9 O$ R. a2 X7 _, m3 Z2 X
}( o+ Z# s6 ?. q0 J
}
7 Z: v A# _& ]& w if(isLast) # w3 J* T3 a, P; f" c0 ^+ Q
{$ W. K* ^9 S$ c2 H5 W% F
if(debug)! D0 J+ s" |% T5 N: Z
{
1 {4 y( B, r) E$ A$ F$ U' \4 i0 ?% @ alert("last!!");
! c8 \' n' ]7 M) Y }, D( W/ K& ?" Z" k% ?" O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" }0 @% r9 ~7 ]3 Z6 \ {
Q+ W/ f: W7 q$ [( A8 `6 D. G orgNode.parentNode.removeChild(orgNode);
5 k! h+ w$ o7 r% Q i }- o/ g5 M. d0 z! f' r$ b. C6 F; _
}& E% i. |( r2 ?$ d" L# W6 A D
else
# |* b' J2 M) t s# F: X1 R {4 P2 F+ x. b4 ~% t8 f8 _) o" r6 b+ f
if(debug), O! q1 E' b% w$ C3 V* E$ `7 E
{, E) N3 a8 p5 @$ f
alert("compare color and parent bgcolor!");
: G5 F7 i: U- n9 Y$ u5 j }5 R3 U' s- K: a3 M
parentBgRGB=getRGB(parentBgColor);+ [& t5 H' y" ~4 m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): ?9 z. c: S8 h9 a! j
{# l" P4 K4 d) @
orgNode.parentNode.removeChild(orgNode); 0 r6 T% T( g4 s$ V; T8 A G6 l; F
}& ], H5 ~% F7 ^/ f0 ]4 b
}+ ^0 S8 M) v4 V+ A" G/ t
}
5 D0 S, `, H5 B' H: A- s }: z( i3 V: ~9 |. q4 H8 e
}: N8 [( o6 ^! z6 x. Q! E
}
! M$ S; v$ a; q1 T
- q" p/ w$ }/ `1 z# G9 l
) K/ `7 d, w4 E+ |- L var itemFrames = page.getElementsByTagName("frame");
* ?' n# v% n$ Z6 f/ t( u9 |" J var itemiFrames = page.getElementsByTagName("iframe");
+ F% b6 c5 d t' q5 {9 q) c5 k & u4 r0 Y/ P" T8 W
var frame, iframe;
' l9 ~4 h* Q- Q1 |4 q$ y if (itemFrames.length > 0)
+ m* c! j) ~0 N( B1 `$ y5 a# X {; [! D2 p, _+ o* ]3 O/ ^
for (var i = 0 ; i< itemFrames.length ; i++)
, U: }) t3 Y) Y) }4 h {( F0 `8 M2 L4 M. Y$ h" F" |" I' V
frame = itemFrames.contentDocument;3 a; Z8 {: [9 {7 R; M
this.RemoveHide(frame,objname); + ]4 O: j9 y& g; ]$ G. m
}% Z. R1 Y* H$ j: s" |
}2 d0 a) k8 G9 F" f+ l# v
if (itemiFrames.length > 0)
* m+ O/ s- d5 U+ M' @# h, X6 O+ r {- P- c: R. P# {1 v F6 D* P
for (var i = 0 ; i < itemiFrames.length ; i++) * n5 z9 g/ V% D- B0 I1 h
{$ W5 _" q4 t4 _* B& @0 c
iframe = itemiFrames.contentDocument;1 J' k- [# m: u2 ?' N2 I' N
this.RemoveHide(iframe,objname);
! H: x1 o% C: l* J- F } J3 F) v2 m2 \4 C5 w
}$ v" p. l- W, }
}3 t7 q" ?- y0 Z, }
catch(e), o0 x( }' ^9 I1 q7 O, V& W
{' @$ j' T4 o! X1 v6 J
if(debug)9 F1 A/ l. g6 w0 s
{0 g- u# c0 ^7 z1 b# p' N
alert(e.message);
5 M+ f% r- j4 I* m, s. r% I }
# K3 l' P! g1 i# U. w! ~6 Y+ T }' `( X, ]/ j; a9 F8 h* {
}( x9 ] ? S; E
: ]4 w% E N7 H% J1 d
}
! J# w& |+ y3 U2 e) d9 d! }: S: V9 l6 W1 q
function getRGB(colorString)
) u' w$ I2 Z! ~% f6 O0 M( K{
, Q( ^( B, I7 s( P; T var RGB = new Array;
j7 z8 @: r8 }9 J9 ]! ? var tempSting=colorString.substring(4,colorString.length-1);
6 }! \6 a1 N. N1 W$ I: k var tempArray=tempSting.split(",");
* ]9 R7 j6 q+ f$ Z0 |, a* e' {" y& T
RGB[0]=parseInt(tempArray[0]);
5 k+ h* \8 N, t. T% O$ P: ` RGB[1]=parseInt(tempArray[1]);
7 x- V+ N% z5 @( n* y RGB[2]=parseInt(tempArray[2]);/ r, @5 l+ ]0 L2 e+ ]
# Z' ?0 X# |3 R return RGB;' z- V/ y* i3 _" I
}, y4 m& W4 x! }7 Q" T2 }* b
function keys(evt) 1 m, b# D7 c. n4 a/ t0 P
{
5 L- j3 [$ y! h2 Y+ A- y; ` if(evt.ctrlKey && evt.keyCode=="81")
/ ]( p n; [; {' x2 p. O0 i2 K R { 1 W/ Y. ~0 r0 M
CleanHideObj.on(0,1);4 t K# F+ \: }4 b$ x$ ^/ H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 ^1 Y% a( ?1 b& x' U. q5 H$ Y
4 f" Z& p$ d5 T& \9 d( G7 t4 H } & ]1 }7 |" m& d9 U" @, j
}
8 O& Q) L- v4 I7 X3 W+ M* mdocument.addEventListener('keydown', keys, false);
9 l1 W/ E$ ^2 k9 WGM_registerMenuCommand ('Clean Hide',7 ^- d- ~' l# w, @/ d" g" u' D
function(e){ r% V5 L) i$ `) B
CleanHideObj.on(0,1)$ ~5 f: h; _* g8 A2 q/ F1 _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! M2 T* A2 W y! w! a
});- `: x' _- Y; A5 w! M# G4 N- \
|
评分
-
查看全部评分
|