|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & w- `- i- u5 H: ~5 F
. q. }% {9 S! p" Z: }0 x
火狐插件,用猴子' |, a3 H. r7 @$ j% U5 H7 L
. b2 r) w6 [! r) Q" b
var debug=false;
1 Y. H# h/ u0 |, x+ C8 ivar CleanHideObj=new CleanHideClass();4 I7 `; L/ K+ a) ], y
5 c$ V1 n% B7 E/ H2 @% V+ `+ Ffunction CleanHideClass()
5 B/ @" _* I- K3 J" A. S{
4 o/ F0 i( ]: v 1 y' f& w) Y) D7 E$ B, P! q7 t3 r; f
this.on=function(id,bMZ)% j3 W* u$ ?; j- m0 [8 T
{
3 T7 O2 O, I9 ]! Z7 S 6 ?7 j/ D: m9 a5 m
if(id == 0)
1 Y0 M1 p6 Z+ X3 C2 \9 P {
8 W3 X9 \7 ?& ? var page=/* document.getElementById("content").contentDocument */document;
: q. W# z+ a. p, C this.RemoveHide(page,"span");
, l8 y8 Z. H' k; V this.RemoveHide(page,"font");/ R; t5 I9 G5 N `
this.RemoveHide(page,"div");9 D7 @& ]8 j( }# E& b7 ^2 ?( M
this.RemoveHide(page,"p");: ~" Z. [8 f% o
% s R. K- L: |1 P }
& j; ?9 M' T; M 0 ^: q! k6 Q5 w( r. c) R6 _. u0 P
}
( a3 k6 m0 \* k1 h2 i5 g7 F2 w this.getobjstyle=function(node,prop)5 X* V' J0 d6 R( D! D% C1 t+ t1 r
{
, n* ^* {8 W. D' A% O8 \, d8 g try
4 l! C7 A5 J/ k* N, o {# e4 a8 `$ o1 \$ m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 ]! M9 P9 Z% `7 Z/ [) {
}
: f, k' m0 V% u8 }/ G6 t/ h+ C, T catch(e); E# L" r, C3 f) c4 l
{
8 G5 e! E( q% R& U% A. V if(debug)9 K: q3 B7 R2 \
{% g/ I6 c/ G- \. O
alert(e.message);
+ N/ H( N9 F! v( U, A1 t/ S O6 S }& Y4 }* ? x: a. u# A4 _+ U! H
1 Y- |# w6 r' p) q return "200"; T. c2 w" t+ J J. r
}2 a% t- `$ r$ u) t- |) r
}" G7 u( v; J% @+ m" [3 d: B+ c
0 I$ A1 p: D- M& L
this.RemoveHide=function(page,objname)
' ], t" Q- v$ C0 |( ], M H. D {
! U! u9 J$ g- ^; r" o try; ?4 c8 S; K: N2 z) S: y+ T# M
{
5 K' m: Z1 w- j% S var minValue=15;
- a6 O9 o8 r) S \/ w1 _$ ] var objs=page.getElementsByTagName(objname); ]8 E# m& k5 ^9 q) e8 R( z% b
" h! E; }3 M6 ]4 e: o/ k7 b0 X5 k
if(objs.length == 0)
* i& g2 x; V% w {
" ?8 j6 b2 z, p* {% F7 U if(debug)
8 l$ X) W# z) ]& \ {
O3 \4 @; Z+ B6 O. q$ \: z5 M" y alert("no object found!:"+objname);" L9 ?3 t% h% q: x- @7 X" c
}
, f0 I7 H2 J) L: X- g7 F$ P- Q; P }5 X+ l, N, O p/ N# Q2 z! B% t
else7 U; ?* G. p% l. M0 H/ Z* y5 Q9 R
{, w+ G2 Z" |1 D9 U
5 Q4 ?/ G% d! I$ k4 m: H
for(var i=objs.length-1;i>=0;i--) * c2 K6 W. ~8 O* z& |8 d# L# U3 j9 L
{5 t, Z! T! v, P2 F
var node=objs.item(i);
& b' ^/ a& c. M0 T6 u7 i# I
/ Y" N; q& B* C P5 `$ i) D8 A. l # f& I( t& B/ j9 O2 Q5 M6 @
if(this.getobjstyle(node,"display") == "none" ||1 a8 E( g# u2 _
this.getobjstyle(node,"visibility") =="hidden" ||
i# V/ R& v& q. p z; f parseInt(this.getobjstyle(node,"font-size")) == 0)
, C) b; P$ [; `( Z! s& y6 t; C% G2 B {7 ]3 Z6 Q/ \: N7 E1 M+ v5 O
if(debug)* L7 v( a. |7 E2 C
{
1 w0 ~$ m+ ?/ @2 h3 f alert("remove invisiable!");
* _' J$ @+ b4 a$ A/ o }3 v6 X0 w6 _1 e& O- B' n' K9 u
node.parentNode.removeChild(node);
5 p% q' c, j: G' y
& E# N! i0 f' D/ L0 y }* D k a- ]5 n0 }+ O- `' o
else
$ D; S8 D U( z* J" _# F {
! `6 a' ]* _4 B9 I* D# e if(node.parentNode) 7 e# z$ \1 m( I, U/ s
{
5 ?6 z5 q. L! ]: i9 f, ? var orgNode=node;) T4 |- p: w$ H: O2 `, q
var orgColor=this.getobjstyle(orgNode,"color")
; \$ Q8 k% O9 M1 j8 `( r# u var orgRGB=getRGB(orgColor); # A1 g9 n* j1 Z. Z8 |: R
+ g9 \- S Y6 i( ` var parentNode=node.parentNode5 T! ]8 T9 l" ]7 h1 z" _. H
var parentBgColor=this.getobjstyle(parentNode,"background-color");* n' H3 i2 P& @0 j5 h9 B
$ w$ E* |( A7 v3 C
var isLast=false;
D, l% R6 J1 N( f2 E g8 R3 w0 M) y( A% R$ M
while(parentBgColor == "transparent") / v/ j0 e; E3 L1 q% p
{$ b: C; K0 {, \4 q) t0 Q+ {. ^
7 S3 N# ?! ~) p; L
7 _0 U& |; T" _# E5 o$ _ if(parentNode.parentNode == null)
p- a! Z; ]+ o w {% ], n9 J6 G( v
isLast=true;$ d& ?" o' f7 f- |! [
break;
T3 `: V: G# A. ]6 { }
6 }! \3 h, f; r# s& ~7 w parentNode=parentNode.parentNode;' a) e2 _7 P2 Z+ H, {
parentBgColor=this.getobjstyle(parentNode,"background-color");
* G9 a- I% V# O$ F; N! K- b# x' F
4 A1 i" ], j- o, P& z2 W if(parentBgColor != "transparent")
3 z3 h5 |' Z2 v {9 b: r/ K2 |- }9 M) c F
break;
: N s5 r& F6 J6 u }
6 ~. K0 i& X8 W/ {+ b }
: _6 G9 i8 |6 C( D; a* ` T- } if(isLast)
1 G) i' M: G! i {% m, c* H1 w" V( b
if(debug)
, M6 K! s, c( @* T {
( J8 C1 @2 F3 d7 Q6 A- N alert("last!!");
( E9 d9 M1 X' t( n/ m }
) m% D& L/ h, Y: U _1 h' q* J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ j k4 s* v+ ]/ ~ {
G$ n' B+ H! c* i. c/ ~ orgNode.parentNode.removeChild(orgNode);
! V# V& w6 g: O. E }
2 C5 m6 S+ {9 Z# \ }- u" ~: a K2 v& M9 X4 E
else+ E5 g& V' b8 J
{' w: G- `3 O. w, L. ]' T1 {
if(debug); s" _" `" F" L# R
{) ~: X _& [0 o
alert("compare color and parent bgcolor!");( M3 d% _0 U0 w- r
}
; D4 o9 {/ L8 ~: B parentBgRGB=getRGB(parentBgColor);( {6 ~. Z7 k) V, R2 G+ K( v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 y# D! L% {5 V9 t {
! s9 e; p: d! e0 X( _: o2 R& Q orgNode.parentNode.removeChild(orgNode); & q& k( L, l% I z* N4 J
}& O0 |' H: k$ H5 i
}
$ n1 ~- Y$ i: z/ R3 z }% ~& }. h$ w6 M/ f8 ]6 E
}8 a7 E/ s5 H: k7 x
}( D8 q0 |" `/ f) u8 S
}
2 ?! F# A- T! M: D
* U; O* b5 k8 n3 `4 ^+ W
' v% {+ I. |+ V* m var itemFrames = page.getElementsByTagName("frame");) _8 O+ E2 W0 m9 y
var itemiFrames = page.getElementsByTagName("iframe");- [$ s+ n* V% @9 y0 J$ B% T
7 }" R7 ]7 g1 G7 [9 _, \* q
var frame, iframe;! U O& t! }* t
if (itemFrames.length > 0)" t3 x& m9 C( O0 T% p( E
{
+ q, X4 a+ M- M5 T+ W" i6 P for (var i = 0 ; i< itemFrames.length ; i++)
3 b ^1 j( o) d& v. x' S+ Y3 ^ {
5 ^, o( l& k! W frame = itemFrames.contentDocument;
3 l2 n2 G/ G3 @7 [& s8 s7 | this.RemoveHide(frame,objname); / i1 V2 e- F h V1 V
}
% u1 l Y. D. s8 ? }6 b5 |7 E7 T# _$ U6 y
if (itemiFrames.length > 0)
% r, E1 ]0 C- @ {- p/ l" s6 A1 m8 {
for (var i = 0 ; i < itemiFrames.length ; i++) 5 ]+ }( {3 r) b
{$ L$ @. @" Q4 }; D4 A' A
iframe = itemiFrames.contentDocument;
/ X" E4 S* h! ? \9 g5 F this.RemoveHide(iframe,objname); % y- ?7 \5 F- g: @( a
}5 n: F9 F+ Y1 j* }( X! K( W6 t5 r
}
* l/ n! R3 f$ L: e }
8 L3 f. w# i# W: |( e' ^& @ catch(e)
7 k- C/ _' O% ?! n/ ~- G% K. Y; `; M {6 Z) {$ U5 I4 ]
if(debug)$ Y, I9 C9 h. c# u* U! c2 O. F
{
2 A* ]2 T, |* ~! c8 c; F; T alert(e.message);
* ]- D3 x2 J- k* X. X& h/ e. t' D3 `/ F }" J1 p; f \" K6 x( n
}1 [/ b3 g& @) w- l% b' ]& Z' r* m |: g
}* Z) q3 c- a# z& A3 {
/ ?5 m! ^" C6 @% D. g) T8 w$ o}( Q% U8 r4 R6 h- W/ ?9 W9 j% {+ [# S
: ]" y1 d4 I& u2 Yfunction getRGB(colorString)% V% ~. E5 y' O ~
{4 t. o" n6 m9 E2 K$ L4 ~: {
var RGB = new Array;
2 V9 L$ A& V6 i0 g% ~ var tempSting=colorString.substring(4,colorString.length-1);1 \ d: j, b% U
var tempArray=tempSting.split(",");
4 h; Q& _: q) h
# Y1 i6 W: H2 ^ RGB[0]=parseInt(tempArray[0]);: j4 l- ^% u" r
RGB[1]=parseInt(tempArray[1]);
- W/ {. H; p. }2 n! u/ y3 { RGB[2]=parseInt(tempArray[2]);
8 \7 J1 ~5 c S) m6 T / Z7 L8 b- H8 W5 O- I2 i2 ?7 E: T
return RGB;
0 ~. y7 L* ?$ m* {+ e0 b; l C}4 u8 t4 z0 F# y$ v$ A
function keys(evt)
/ X* t1 _1 `5 E {
0 F& ] {! a8 K+ | D; U# d% O if(evt.ctrlKey && evt.keyCode=="81")
8 f5 w5 l* l$ q8 T* D4 q+ ] {
- d5 m# P6 m! P) m; j+ q CleanHideObj.on(0,1);9 m; S( G; b- \: M- V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & r4 d/ Y. c. k* t1 O8 M4 z) y5 D
, j7 U5 j* W$ i* F2 Q1 g, w7 |
} 3 G# ?6 U# s& m0 a
} # R" {5 }3 P$ v4 h; h# o% X
document.addEventListener('keydown', keys, false);
# o- }7 u2 e) s9 n" M4 o8 }GM_registerMenuCommand ('Clean Hide',
- f$ t% S: ~! w/ Sfunction(e){
/ G* K8 l0 O% }CleanHideObj.on(0,1)
8 E0 E$ O) ^' ^! c: b' a' E( ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 X% T( d5 Y1 @8 R, K1 z});- r- k4 O. S4 u
|
评分
-
查看全部评分
|