|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: X0 K! @0 T8 F" ^& w$ F% f7 B+ R! y/ L) C0 L( g; M E
火狐插件,用猴子2 p0 Q8 _3 c8 {0 X
! q. q% u% N" j" v' \var debug=false; * V& i7 M1 F- X1 c* j$ p# ~
var CleanHideObj=new CleanHideClass();- q7 H* Z3 N0 C$ ?2 T1 A; @ E
4 I' a& U2 S# Efunction CleanHideClass()
6 T$ i1 S+ r9 j: D: V: d{
/ W" A$ x6 z$ x$ l8 L
% O+ V! D& H, M4 t$ e6 U this.on=function(id,bMZ)
- s8 g$ r1 u/ o {
/ a+ E W4 l1 s % Z, G8 ?1 O1 I' ]
if(id == 0)3 l2 _4 h. v; s
{+ L8 n3 Z2 v2 r2 q1 l( }6 u
var page=/* document.getElementById("content").contentDocument */document; & J+ |; `2 ?5 x, Z1 z
this.RemoveHide(page,"span"); D) V6 @2 a; r% Z4 q8 U' C
this.RemoveHide(page,"font");
( X: R: Q8 p" G" D. _% r( h- t this.RemoveHide(page,"div");
- W3 u3 T6 } r this.RemoveHide(page,"p");
- E( j( Q; a* S1 w
# u, P: j) V# x. r; @- k }
5 i8 d) j7 R( a6 h" r* A# h3 E
% w# D2 M1 y% ]/ y* P& `4 g }9 t$ |6 h: l9 Q' \) Z( k
this.getobjstyle=function(node,prop)1 T9 z B. b8 {9 D
{/ I2 g! _/ z6 c% e
try
, q1 s7 N- E7 F. [ {
* l; u. g: l) V" U' C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, |% A4 `: j2 }% `1 O* F
}- D. d% ?3 U4 B
catch(e)% A# Z3 Q0 c& C; e' d' u
{
# z, W$ _, f) e* g3 e- J if(debug)
2 _1 Y% _6 U9 @ {; B9 c" Z; t1 ?- y2 n
alert(e.message);9 C( T9 x$ K9 X
}
: P2 B- s. Y, l
3 j+ z( j2 n0 I3 u1 i4 d) k return "200";- ~5 D/ t2 [+ H
}) e5 B: R/ ]+ o" g- \5 @3 N- s
}
4 q% U/ E8 N. c# C$ Q8 n6 M ! B9 b! i% F3 s7 K' G2 D
this.RemoveHide=function(page,objname)/ O5 U/ c9 V& A& }4 O
{) X. e+ B) R/ _ A
try
: x2 P& L* r. ?1 n {' b8 p: j+ L7 n& v
var minValue=15;4 p+ q2 M8 v6 A7 q/ c; A0 ^. ^
var objs=page.getElementsByTagName(objname);
* _1 w% ~; \5 R* w$ j3 g8 d( }' }7 b) Y) h# E9 T6 W0 Z9 p$ D6 v
if(objs.length == 0)
; e2 K \: N# I, I1 t {
) f7 x+ X0 ?2 S( o9 C. l7 ~ if(debug)
, i8 i# @, ]" J: O; ]. q( u" f {
1 k0 h5 J9 Y( t2 `3 J) I7 b) W4 u alert("no object found!:"+objname);
E& D M# u2 o' Y* H- ` }& m2 j, ^& v1 B
}# F7 o3 R. ?2 r. o9 \ W
else7 m4 a0 a4 Z# B: R, k
{. `2 o" c+ _2 a0 {) ]$ E% y
9 n U) ^8 V. E for(var i=objs.length-1;i>=0;i--)
( q, i/ e$ ^5 X/ } {
. Y0 o) m4 h5 s- A var node=objs.item(i); 3 ]7 b: T* l9 A" u5 Q) R4 I* ?
. }- E: Q8 i) |% ], `& P- i1 p
( T f$ B' Z+ L9 P! | if(this.getobjstyle(node,"display") == "none" ||. X7 Q* Y4 j( o+ D3 u6 s1 W
this.getobjstyle(node,"visibility") =="hidden" ||
) h" u! ]0 O, V4 Q! @7 k parseInt(this.getobjstyle(node,"font-size")) == 0)
; e0 G; T! O- E8 c1 L {
" Q, q( E9 V0 I2 G if(debug)2 \% s% x* h) M& h9 R; B7 l
{" O7 W0 {3 V+ q) }; e5 [8 V
alert("remove invisiable!");) n6 W5 c9 c9 n; F3 T* f
}8 u& W s# Q$ ^
node.parentNode.removeChild(node);
0 B3 p+ e5 Y% [
) d) e* Y% _. T) i3 n% p, N }
$ h0 h8 e0 l/ E' F. |9 B else 3 f9 d! I2 B$ o3 T' O+ V
{7 d) e& s) z0 c- W7 B7 O6 {
if(node.parentNode) " |0 k9 I1 _$ Z/ W# {7 b
{9 X3 u9 i# c: H- c7 M4 p9 y& R) u
var orgNode=node;
9 y- e+ x" j! `( {2 ~* I var orgColor=this.getobjstyle(orgNode,"color")
8 Y: U2 d* X3 A1 u/ _ `9 p var orgRGB=getRGB(orgColor);
% m7 f4 E* }- b. A # ?: C3 ^ B. ^) p8 w
var parentNode=node.parentNode- Z7 N& e. A' A! [
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' q) h( d6 L1 K4 p8 u 4 }' t% d8 P+ t S7 ~3 X
var isLast=false;
% t! ~) T4 S& d% G2 h$ O 4 ^0 j1 a) C) D
while(parentBgColor == "transparent") * |! t8 u% _3 K+ W' f3 X! {
{5 a& f5 ~! O8 y
' A+ c) M: |, t( n+ u* \
, y Y; p$ Y$ u- }
if(parentNode.parentNode == null)
. H% Z" I, s) P4 b {
4 y$ {2 d3 C, k8 |$ _ isLast=true;
- N% M" x `' T6 W" W- S& u break;
, Z1 G l* A l! a4 D }$ J# J6 ~, m: w* [
parentNode=parentNode.parentNode;
+ u+ N, J1 p6 C4 E; c parentBgColor=this.getobjstyle(parentNode,"background-color");
0 p3 a: Q# F. `, g, \9 T
+ K& E' B% P8 b' N if(parentBgColor != "transparent")
: b9 G" W+ m \' o' ^2 {; [ {
( e" b1 L: \! i3 U T# ] break;
( n# j$ ?; p# ?+ v }
# J/ |" M! T$ p; ` }
: ?0 o! j1 d9 s% D/ `, k if(isLast) ! d4 W ^& I2 Z# G2 ^9 m
{; B5 W$ k1 Z* i0 Y& M6 D. S
if(debug)! d& z9 q4 A9 ^
{, g+ _2 V' c0 W# n! T- S0 J" h, l# ~
alert("last!!");' U1 O ~$ U& j
}
6 a' h3 b6 H' L/ z1 f6 B if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% ? D) y0 j* F4 o
{
/ v7 Q: O! D; D7 g1 ~/ O orgNode.parentNode.removeChild(orgNode); 1 L% f) C8 I: r+ D
}
+ G* i1 q8 t! x' P+ l- C }
8 x9 B+ N1 r) k7 C( u* C else+ T+ \& o1 V: o. f
{" g8 P# P" g. l4 [: ^# P/ L% B
if(debug) o1 W3 ~ g/ F6 y1 v
{
# V. }/ |0 s- x& j' d alert("compare color and parent bgcolor!");) W# m- q5 f' v" `$ v6 m
}
$ i( Y% S$ E5 L7 Y4 h% V parentBgRGB=getRGB(parentBgColor); d- Q$ H) f! B1 i! Z/ P7 t: t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ G P, t4 U' f+ ]
{: p9 j3 E# a$ Z: N' u
orgNode.parentNode.removeChild(orgNode); 4 M7 O+ G- p- _" P7 S
}
9 q) U- U4 E' D8 y. _ }
" T2 c7 R( m+ E/ B5 ^: Z }
: m7 K3 d8 t4 o }5 @* |0 k+ y x- N6 ^
}
% y+ m8 G' h1 h+ ]4 |+ ~ }
& x9 y: c, U4 z: B% v( h$ X3 Y
9 y; V2 c/ h% K; y
8 H3 F! x- Z" v6 y var itemFrames = page.getElementsByTagName("frame");' c8 l% h; Y1 W# V
var itemiFrames = page.getElementsByTagName("iframe");
* f6 v5 j+ m/ J: |$ [, C
3 b8 D$ P5 G4 z: j5 _ var frame, iframe;
3 X3 v4 @3 o8 n: j if (itemFrames.length > 0)
2 n1 u' x& ?" t {
& b) K! N: J+ C6 F0 U for (var i = 0 ; i< itemFrames.length ; i++)
/ _2 b/ `6 @8 ?1 ?" d7 z: D' ~2 F6 S' b {
2 c7 ^2 W* c7 l3 r frame = itemFrames.contentDocument;
4 r8 x3 C$ v* t2 e this.RemoveHide(frame,objname); ! P. E- `: D& w# m6 n, v5 h
}
& F& v; S, l; w& J }
7 I, P3 t2 a6 H4 |3 ] if (itemiFrames.length > 0)
: N' i4 }) G6 w {9 g) V$ h5 S3 b9 S" I% U
for (var i = 0 ; i < itemiFrames.length ; i++) * M$ \; i" ]4 F9 b# e# q" k! A
{
: {2 E& R: }- s; B/ M iframe = itemiFrames.contentDocument;
; @8 R _8 h! b( J this.RemoveHide(iframe,objname); , B" z: h4 O, d7 ?) q4 R- V
}
2 Q+ M: G$ f; A5 ~ }
1 b9 s' h! o% |; B }
1 t7 Z3 R3 f) d9 n/ W catch(e)
8 q5 P. a6 h* G {
8 d+ `. @: y* N* T if(debug)
4 \( H# o2 X3 z {' S) p; |; O4 `- U! K0 n
alert(e.message);5 P6 m) Q- ~' p9 x# d
}, a9 W7 x+ ^8 Y4 M7 X) t
}
$ C. `0 o/ ^# N: _& C }+ m5 p: Z0 r: b9 k# }# P) A! @
" J; }4 J; ?1 k0 e; d, o2 a}
) u: B$ H6 J; o2 b- F
$ G$ ~! n$ b4 |1 g2 Y$ Cfunction getRGB(colorString)
% Z' h+ I G O& b/ ~" Z9 y% G{
" ]3 i) `) F& _9 P. r var RGB = new Array;
4 F- C3 b# q8 [ var tempSting=colorString.substring(4,colorString.length-1);1 ?6 J# Z [: u" s5 ~; v$ _ h4 w
var tempArray=tempSting.split(",");. p/ l5 ?* W% N# y+ x, |
& s8 i: K8 x2 j- ~1 g6 b
RGB[0]=parseInt(tempArray[0]);
9 p3 o2 U3 t# B+ \( r RGB[1]=parseInt(tempArray[1]);
9 H0 R2 \2 ~+ w O0 `$ M' e' P* y RGB[2]=parseInt(tempArray[2]);) M4 }+ P) J4 X% B5 E8 P+ L' h* e
5 C; c1 e1 t7 s return RGB;& C! Y" p5 {2 `( f, n' G
}0 H2 c8 _5 X! _$ o& {
function keys(evt)
E8 P8 v" o, n { : m- y, o5 [4 {" H; {1 [4 w9 N8 N3 r
if(evt.ctrlKey && evt.keyCode=="81") " s& v4 Y9 x0 A% U1 Y0 S
{
, T% z& c5 F6 }& n. z6 q CleanHideObj.on(0,1);
$ {( m! @ v; r* K" k/ p a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); Q" E$ m' E- u6 |& J
- L- g6 i; p8 G }
3 d2 a- M- i* { }
5 ?0 ?3 U( V& @. r- rdocument.addEventListener('keydown', keys, false); H8 |$ H: `$ C& E. r& D" ~
GM_registerMenuCommand ('Clean Hide',
6 d- J/ c0 P9 K" jfunction(e){
& ^7 @& }# k0 u c$ d: m: C5 m/ xCleanHideObj.on(0,1)
: W2 `. I# j9 J& N$ Zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" w0 y2 \' E0 c+ f# }" e6 M7 E' f" t8 D
});* H5 X" Z, F2 O2 R1 B
|
评分
-
查看全部评分
|