|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 Z* [ F" |2 U0 u# }" E+ Y
3 h3 P, g' k4 ~0 s' F, N火狐插件,用猴子4 O( f$ J1 u! @! A- G( [' G* P* |
" I$ E+ z% o% w. ^. Evar debug=false;
: {! b" V2 O6 `) a ^3 N3 ivar CleanHideObj=new CleanHideClass();
, P5 h2 T% Q& C, d3 s; h& y
4 u, M6 e1 K, l: Xfunction CleanHideClass() * I/ f+ q5 f( l# U9 u+ A3 d* M
{
: x( O, V9 Y) ^4 _/ @; ?* \
7 r, r5 p2 B/ i5 ~ this.on=function(id,bMZ)( W, q7 K4 t9 Q0 d3 Z
{
3 _7 x/ Z9 k5 G5 b! D4 q1 u
: h0 b' \* F3 v( ^& E if(id == 0)
$ N1 s/ X& d4 N+ Q {
, x3 R* C" ^+ n7 Y$ F" n, r var page=/* document.getElementById("content").contentDocument */document; , M* Q. V- R) c
this.RemoveHide(page,"span");
+ g. E; k: l" M) J( D( `8 G z, ] this.RemoveHide(page,"font");
9 `" }" T( k7 E- N4 e+ O. Q this.RemoveHide(page,"div");% X' b5 T5 h' R* u6 b
this.RemoveHide(page,"p");- F/ C' b+ i& o
9 [8 \6 I& f" Z1 f }. h$ k2 b6 d! o0 ~& K
p( w* X7 O; H% i }
2 A" o+ g. q% Y this.getobjstyle=function(node,prop)
' P3 t# E7 o# o( k {
6 Q% H2 G4 t1 b try
1 n1 g1 N' {' ]! K/ T {0 W1 H3 a' q2 q+ S1 w& I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* ^1 d/ B6 Q" W
}
4 q: }! _& \/ H( x# {, C3 E catch(e)
/ I5 {7 d6 k0 u, d3 g4 y {' c$ r3 K) [9 a4 x. z7 D# V$ B
if(debug)
+ ^4 l9 y: o: j+ Q {
7 N+ F9 |$ d' ] alert(e.message);5 ~* L# B2 H. E7 f' a- Q! t& ~( h
}
9 ]1 i4 a. n2 Q7 r) X
1 A/ \( a/ B& [/ t. l: x% Y return "200";* M& Z- r# K9 I
}4 d0 N# `8 x! m( I
}/ ^$ ?1 x" s# h* p% `4 ?
0 o1 w- T: @5 K# n* s
this.RemoveHide=function(page,objname), ]; S9 Z- A F
{0 W. Y7 r7 H8 l% g; T
try- ]1 K/ |6 |: _4 m8 a: Y) V
{
# A1 u1 c/ u9 a% z0 w4 n7 w$ e2 U- F var minValue=15;# x J$ H4 x0 y8 V
var objs=page.getElementsByTagName(objname);
3 S0 ~! M( z. ~* ]+ h% L" z' ]/ z/ G& Y) ~2 t" G8 B% x3 i
if(objs.length == 0) / r: \: N5 C3 ]8 F- Q) j8 d6 w4 [
{- Y( a, B/ O2 f/ K4 O$ h/ }! d
if(debug)" y% I1 W( d. j
{
4 K( V) z+ S7 G7 J+ C alert("no object found!:"+objname);, Z- l M! B [
}
5 g4 \, w* k/ v+ ^5 C) ` }" S* m# k3 ~# t7 g
else
2 |; P8 e& i6 I5 S8 r1 D6 O7 v" ] {
% ?6 ^4 T9 R' a) { - v4 C' D$ Z! p4 s
for(var i=objs.length-1;i>=0;i--)
, @2 w) e1 s4 i2 x2 x" t {
# Z# I4 ^1 A2 v: y& Y5 B2 ] var node=objs.item(i);
. r! ^, M c8 H9 O
. }6 L) x8 `+ Z( G9 f$ ~4 w+ F- a
' s; i, h/ U5 { if(this.getobjstyle(node,"display") == "none" ||# w+ M3 N+ @2 M: k8 t+ j
this.getobjstyle(node,"visibility") =="hidden" ||6 c& |* z# c, J" S
parseInt(this.getobjstyle(node,"font-size")) == 0) ; m5 B0 {% E! X- ]; f# |+ ?
{3 E- g2 l! {/ w
if(debug)
6 v4 e/ j$ U* N) Y2 D {+ Z! Q6 O4 I" k
alert("remove invisiable!");5 Y5 ?4 Q9 v, F# w( [2 M
}# K7 s, q+ r- v- u- ~1 b
node.parentNode.removeChild(node);1 d! P6 Q) u" ^. I$ f
8 ~0 X) J8 t$ U. B! v }
5 g o, |- j# T' p else % w! P8 t" d2 \" I. P
{/ Y) W9 E3 Q5 L8 o
if(node.parentNode) 5 b* n; X% |% k$ d' u9 W
{/ M9 z, q! j5 e
var orgNode=node;8 z3 |! p3 ^6 j" C( h( i
var orgColor=this.getobjstyle(orgNode,"color")
/ U: J4 a4 f" k+ M var orgRGB=getRGB(orgColor); 4 k9 ~( R( c- ]* `4 b8 |* s
7 c6 j$ d z9 u' V var parentNode=node.parentNode" c! F$ H N7 t: f" `' x
var parentBgColor=this.getobjstyle(parentNode,"background-color");* B' f) q. u- Q/ ~# j
# ?) v+ }6 q3 @8 A var isLast=false;: J2 ~/ H+ F) j2 f3 ~4 G5 ]
/ ]: m' P5 Q& q- n4 ?* @
while(parentBgColor == "transparent") 6 }5 z e5 b+ D- A2 y
{
5 z$ M C4 d. W! a
" N* Z, j2 \9 P# m3 t6 Y" |
1 E, p+ h% x% @7 F if(parentNode.parentNode == null)0 v# Q6 h3 H/ X* i( f
{
* s7 @( K* _/ [ isLast=true;5 E+ h& Y) T7 y" A
break;% j! m: b0 T* a3 F2 A( X9 D
}
8 R D1 D* o9 e+ J& M2 a, T parentNode=parentNode.parentNode;2 p- [! s W ^4 G0 j1 R
parentBgColor=this.getobjstyle(parentNode,"background-color");
( w$ E7 ^2 a# V$ Q1 l. e V: P4 i, z+ @9 h7 W
if(parentBgColor != "transparent") # J' r# Y. K) b7 M. }3 ]
{& P# J. X: N/ n/ k9 W I' Z& {7 ^
break;
9 F- d8 j s0 j y" \ }. }5 c1 x7 E, a4 |9 y
}. @5 S$ p# F0 A0 b6 _0 Y8 C
if(isLast) % N. Z: x1 r6 w' [5 E1 |
{
9 J" O' L7 j' | if(debug)
$ d/ _0 d1 O4 e# }. L% _6 ]' s8 u {; P/ E& z K- e8 w
alert("last!!");
% D6 s/ h1 y4 O1 k }
: s$ |$ D+ z* F; t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ t: N* y! g, |2 }0 |+ _ {( {- x4 ?* @9 v- e
orgNode.parentNode.removeChild(orgNode); ' g3 _0 ?' [4 ]: m0 y, y
}
$ W& X# N; O, t9 Z/ f# u" G }
1 f( ]: N( R( c3 J else
5 ?! g! Q. }3 z, p9 s {
1 G; p, h4 }( f1 E- k if(debug)# L: t3 C1 ?% V/ P* F
{0 U |% L' M5 a! c1 z4 Q
alert("compare color and parent bgcolor!");. m3 T) j0 v/ |6 v4 ?$ c
}) M+ v3 i2 E d# [" I* u0 |( g5 @7 J
parentBgRGB=getRGB(parentBgColor);
! S8 O4 V l% C0 Q, F# c3 R: c- { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! e" u9 e b+ D& t6 W8 A4 L {5 i( f6 g1 ?* g0 T m' P, \7 k* h& m
orgNode.parentNode.removeChild(orgNode);
( E/ v# w! A- J E }
0 G. Q4 H- x- | }
2 _% W/ S* D- w" l2 v# @, Q }
+ Y4 u; p% d% d) u- j; ]0 L/ b }
+ J2 R! I) m8 P' n' m+ c }
* \8 f) K. Z& E8 P }4 M/ b6 Y: y% g. V5 O
3 H1 f( X8 N% j2 R
3 f# P" R- x8 h3 F var itemFrames = page.getElementsByTagName("frame");
% u3 I' Y1 b2 l3 y* A var itemiFrames = page.getElementsByTagName("iframe");$ t1 V/ s8 a6 C# S2 Q
* @" ~( u, [( g$ N3 K" i2 D
var frame, iframe;
* D. c: ?- S3 C7 D/ E7 O5 ~ if (itemFrames.length > 0)
9 L' X& B5 c7 q+ L9 E: L {
$ A4 }" ]; U* p7 F for (var i = 0 ; i< itemFrames.length ; i++) # b/ w3 J, R2 S# `$ ?' @. Z N
{
/ K: L3 H2 t. L* z( w: n frame = itemFrames.contentDocument;
. l( y! R1 F. L. M& }: P this.RemoveHide(frame,objname);
" r7 A. ^$ ?: ^9 a }2 T) ^ `- W2 I; W& t3 F; M
}
; w; O+ R- [" h9 G+ g* Q4 @ if (itemiFrames.length > 0)
2 ?4 i/ w: r6 t& Y7 N* J$ b {
0 M- E0 ], Q+ ?# J for (var i = 0 ; i < itemiFrames.length ; i++) 5 w$ N9 P2 k$ K
{) H; {" @4 `" }' C
iframe = itemiFrames.contentDocument;
1 g) p, S- J( |6 D) x this.RemoveHide(iframe,objname); 9 F7 Z2 @6 i! g/ `' ?8 s5 L
}
" z: U( t( S4 Z% i( H }
) O6 I5 b0 C7 K/ n. U8 L }- n; b4 b k3 w( [1 o
catch(e)9 o$ ^* M# X9 d: n3 @- m1 I
{9 A. s e5 v( G
if(debug) |6 f# m& ~8 z! Z$ u0 P, B! { ^$ R7 M
{+ {, G9 p1 a% a
alert(e.message);
' v/ L& {& `7 T0 k- ] }* R: ?9 h; }- a: ~2 @6 m3 X R9 n
}
" M9 ^! E# j/ S0 h }
6 [6 q3 Y. ?6 k1 ^; Y
7 I: ]2 T' g4 F, d; a}( i& i+ z" U7 X3 l
/ A/ i0 R: M9 C* m6 U2 g( Afunction getRGB(colorString)# f. T, a, h: p/ e* C9 j* U: P$ X/ j
{
/ ]0 v' B1 Y$ P6 p/ i var RGB = new Array;: L1 A8 @% b. R% F
var tempSting=colorString.substring(4,colorString.length-1);4 J8 d. s& _ N5 `
var tempArray=tempSting.split(",");) K% r1 p4 ]; G9 L' S8 @% w- u4 ]6 a' v
( d( [8 g" I, y" i6 `) ^ RGB[0]=parseInt(tempArray[0]);0 ^3 b+ p: U6 s' X: Y
RGB[1]=parseInt(tempArray[1]);
( x! ~$ A+ ^$ ^: Q# o RGB[2]=parseInt(tempArray[2]);
# H, ~% o) Z; q$ k& m
+ O; d& Y$ F# x( z! i6 x& c1 Y9 b return RGB;
8 a6 D% u# V! D+ i* g}0 O# l- \7 j% P6 O/ B1 K# l
function keys(evt) 4 Y/ L( g+ F- F0 m% A* s4 `
{ H ?! o }' e
if(evt.ctrlKey && evt.keyCode=="81")
& a7 S+ k6 P& l& X9 f { / D6 h g. i6 T n! R) O# f
CleanHideObj.on(0,1);3 `5 m# b: [' m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 ^3 L% p: H4 e5 l . P, J8 I* V& ?8 p3 ]4 i
} ! Y' z6 h5 E- f S
} 8 G- v( p$ r! ?- v% c6 u9 G
document.addEventListener('keydown', keys, false);
3 B$ T6 @. O6 X9 [; W) s& Q8 lGM_registerMenuCommand ('Clean Hide',
- {& O7 ?* s- |2 G0 Jfunction(e){/ z( H' t* p1 P, d3 Z, ~; [7 h
CleanHideObj.on(0,1)# j. Q6 z- W- h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 v& k" d. E w8 a% s# {/ Z});
2 i" S( `7 T5 o8 ]2 Z |
评分
-
查看全部评分
|