|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 T: T. r; @9 j5 E! E2 ^2 G
, ]7 d! y3 u- _ } I: g火狐插件,用猴子3 M W( x2 h/ k0 W
; N' a$ k- j& G4 C" @var debug=false;
/ E0 b5 r% ^, ^4 E1 ~+ S. wvar CleanHideObj=new CleanHideClass();$ Q! n/ ~, g! G. [
2 j {9 R! {* @1 I$ R( c0 X% g0 ~function CleanHideClass()
6 L) D+ j! B$ ?+ M{
5 D6 W) Y! Y; W) \% H; |9 R5 d : R6 y( \" W+ u8 g
this.on=function(id,bMZ)
- y! l$ m) ?" W# C' K6 I9 Q1 \ {8 N# |$ R9 i$ e5 { L8 o
/ |- e4 C; B& p( Y5 v if(id == 0)
$ W. o$ b* l9 k+ a: n: W {
- `* H! i0 D; e) y2 T var page=/* document.getElementById("content").contentDocument */document; * g/ {3 o4 T% ^7 [
this.RemoveHide(page,"span");
J6 I" n0 v' f: e8 [7 x% g) Y+ D this.RemoveHide(page,"font");
7 ]% m8 u, t9 b: a# S, ~1 X this.RemoveHide(page,"div");9 s3 H# M7 p! v
this.RemoveHide(page,"p");+ |2 ?) N1 u. T/ I+ d
6 `" w# y7 ?5 D }
6 E% O- g& ?. X4 i5 v% s
4 J* S% p( m+ {+ Z0 k0 |, u: p% c }
0 u$ O4 } J6 d5 D this.getobjstyle=function(node,prop). U+ Z o) s+ X- E0 x {; d; ^) z
{
6 [. w( p4 b2 F3 y& j1 m9 q5 m/ f try
1 g, m1 p/ k, a {( n# p0 B3 R- \; i- Z* V$ V9 W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; ~; V; i& t% T( w7 A
}
( v, @ [4 z$ _) H7 ~6 C* s catch(e)" g" `. _) ]2 O3 E4 S5 E1 } C9 M. D, }
{
' e7 H# t+ m' M if(debug)6 x( K5 K% e: h( `
{* E( Y8 ]1 j: H9 G1 F# y7 E
alert(e.message);
3 [7 a& d- G Z4 \ }1 f m4 L6 l% j" w4 R$ h7 X: {8 s
9 p( i& m% i1 I' c q return "200";
" N8 G3 [- ]) ?5 i }
: }; g( g1 d& d% z. {: o, d }# E' \1 S0 u8 b' Y
) L# N W4 b4 M1 _
this.RemoveHide=function(page,objname)# g: W- I; M4 D" W3 M4 w
{* Y \6 H$ ~) k; r
try
/ ]: J8 [% B* c {
6 F9 }0 D+ R" | var minValue=15;
* E0 `% b+ }. ^% [/ O) N. P+ A$ c: n var objs=page.getElementsByTagName(objname); ) o! F0 z; ^1 j. y$ I/ l' l, T
( s" d- T3 P$ f6 ?6 W5 D) D if(objs.length == 0)
9 G% i6 P6 D9 J# m d2 ?2 s {
. _# @2 o. a I' d: A) t' c# L if(debug)0 n/ Y3 t! q4 `4 x5 W
{
2 f5 t7 [2 H; ] | alert("no object found!:"+objname);
9 O* Z# m% M5 [ } V( O* s8 {- y2 q& c/ I
}$ J( k4 J) l, o5 b
else
; _6 a6 M3 W5 r- l2 G! \2 Q% v/ l$ w {
1 g/ j( n2 P( \8 E5 ?0 O5 Z
' K+ T$ O+ d' u! }' h4 r for(var i=objs.length-1;i>=0;i--)
& Z( v% |; y4 \3 R/ ? {
- o9 O; Q" m1 D+ Z1 `+ L U var node=objs.item(i);
3 j, Q& w( Z/ Z# s2 l0 f3 k 2 n. C& L( _+ O) B9 J8 _
' n- S" e3 x* i$ ^5 J! ]5 N
if(this.getobjstyle(node,"display") == "none" ||" v1 Y4 I, t$ y0 V8 F
this.getobjstyle(node,"visibility") =="hidden" ||
/ L$ S& }+ x5 b O: v+ k+ D# I+ W parseInt(this.getobjstyle(node,"font-size")) == 0)
8 {) y, F+ @3 e9 @+ m9 j {; \- Y; m. t4 k T4 [6 Q
if(debug)+ Z8 V/ S U. S, \) }8 [ v/ I5 H
{$ |, u4 L+ D/ z1 W4 T
alert("remove invisiable!");
" o! ^9 @0 c$ H2 k# O }
7 g8 R ]1 a( G node.parentNode.removeChild(node);
) Y/ X! v' _0 D. \$ p
# R# l! I9 _( v9 ? M& D% p, b, I/ B }! T2 Q p$ _, _, S( ^/ j
else
/ J j# c4 z1 a/ P3 Z6 {" I+ o {8 y# M1 f9 ]8 j3 B2 ^
if(node.parentNode)
, G& ?# G: r7 [ Q: ~ {
# R/ M( k" ]# x% G1 J9 v var orgNode=node;
) G* m H5 L1 C! |/ d var orgColor=this.getobjstyle(orgNode,"color")
6 {1 d/ a) M4 p; }5 N% H$ i) J var orgRGB=getRGB(orgColor);
- ~! Z2 t& i$ g0 ?. ~, y7 W9 | D: |% \& N, @. U
var parentNode=node.parentNode& I0 @( ^2 F7 c# @
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 H! n2 T" _1 J/ E1 m& _+ o
2 N$ W( Y' n% J% W+ x3 ]/ C& k" R
var isLast=false;
& q2 C2 B1 l& J# e9 ~! _ 2 k0 b/ I$ T3 X$ W; P& B: H
while(parentBgColor == "transparent")
7 b3 N, x/ L& |9 Y1 O& M/ A { T1 E) L9 `$ n' ]& }$ W6 M
: j& D# l2 w5 T1 l7 G
5 e& I' _& ?& b" t$ q2 A
if(parentNode.parentNode == null)( `3 ]$ F! N' j$ I# \/ P% u* u
{
/ H9 F+ j5 n ~2 r; {. [3 Q9 E) J* ~ isLast=true;
6 [- X1 S/ H' i% H, ?7 X break; _0 x9 v$ [) k/ K. I
}+ X9 G& E* n. _
parentNode=parentNode.parentNode;" ?4 n5 g9 x; q# ?0 c
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 V& @, R2 E5 Q1 [0 y: O+ h1 M& j2 y# p' L9 c' l' H
if(parentBgColor != "transparent")
+ L" Z. B% F8 }4 K1 G$ U! e {
) i5 v( N, ^9 J" a5 a& q7 M break;
" f k. m: s8 K# y# f0 F& ^ }
7 G! N- Q. L! [ }
4 n4 s2 i' k* |% n. D: Q# M if(isLast)
# H3 p5 z$ i; k. h/ ^9 O% V {* K: n# \4 |9 }9 f {: @5 ^2 \1 A
if(debug)
5 r e9 ~# \* w7 h: j9 ?" \. Q7 M4 K {. W, G; ^ y8 _1 \
alert("last!!");
. O' m0 ?1 J9 r/ G" c5 j+ @ }
' G$ |; a3 \) q+ z; Q$ U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 ~4 W2 ?/ @4 |# _) c; \1 f9 V {
+ i/ l! n- @% O. r' k9 s8 q; X4 ~3 G, m orgNode.parentNode.removeChild(orgNode); / w7 e* U2 o( M4 N
}
" H H. @3 _5 R! t }
5 ^8 C( ?: C. W2 |" M else# n4 W, T- x' [' T$ A
{1 w9 W7 M) G' f
if(debug)9 T$ c1 l6 P0 p* }: ?
{/ b, s! P/ b0 \" B6 y+ f& K z% k
alert("compare color and parent bgcolor!");+ @9 V# ]; A+ z, T3 F+ J
}
$ Z+ @5 `6 s" f* A8 `4 I parentBgRGB=getRGB(parentBgColor);( ^5 p J9 Z# l$ w1 |
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: D+ ?9 k0 [9 @/ b j {
) F' N6 L+ k2 o4 a& V$ [2 z orgNode.parentNode.removeChild(orgNode); $ y1 ] w3 {% P! w% c+ w; w0 a
}
0 Z* b& u8 `0 O/ t$ d8 _/ p$ q- c }( J$ f1 ]- ^1 }; L; M
}
?5 S7 ^# h% `, n- N }9 x% R5 [* b5 r1 |5 A
}& ?- G8 S1 O9 a2 j/ u5 g" G# @
}
& i2 C6 a4 O# m; V9 q9 O8 h
, Y4 r n$ y8 n& w 1 d% [- D: n1 p4 y3 o
var itemFrames = page.getElementsByTagName("frame");
3 u) Y) I! U, j3 z6 l1 n var itemiFrames = page.getElementsByTagName("iframe");/ q) Q7 C; Q! ^
' B7 A4 z. A2 I% `( h% l var frame, iframe;
, e: r+ u5 _$ i; L' V$ ]2 j4 { U* V7 t if (itemFrames.length > 0)
2 o7 G& [' g* S6 S {0 @0 |4 Z; b& L
for (var i = 0 ; i< itemFrames.length ; i++) 3 J B: r% D7 R2 }& n) y% r. s
{
) M! R% J3 D( }$ G/ p- [ frame = itemFrames.contentDocument;
2 `6 }/ B9 Y. V- Y+ ? this.RemoveHide(frame,objname); 0 m: Y* I2 s" I( `
}
: f. h9 ^4 l5 v, G7 `( Z }
# Z! b+ J% b( l! c if (itemiFrames.length > 0)8 f* P' R+ o, P4 s! N2 c
{( e x; \4 m5 s" I( y$ `2 a
for (var i = 0 ; i < itemiFrames.length ; i++) 8 {) r1 K/ S. E# s" d. ?& ?
{; F3 A- C- R/ P) x
iframe = itemiFrames.contentDocument;
- _! }1 {! I+ q+ [ this.RemoveHide(iframe,objname);
" O- S% W- M2 Z2 O- E* T( g. j }; r) K; T0 E" R& {' p$ H4 q& u& W
}
V/ |$ H" X! D4 {6 B* j) X }' {6 P6 y* G- P$ ^" ^
catch(e)5 Q& k+ v; I# X9 S6 c+ W$ Y& P
{
+ h7 j* F) t. C' p3 D. g. i if(debug)0 {! }7 {) ?2 ^' M0 P% ]: K# Q s
{+ B4 l+ v3 |( s5 C4 b
alert(e.message);( U8 K I( h5 z) k$ i
}
, Y6 v- w( M8 t6 v# P }
. h+ K# E, f- U }7 t) K" z" i9 T; s! Y7 n& U
1 v7 C! U% X/ t j. z
}
3 Y* ?/ d7 F* P6 u T8 C6 l3 P: m
* G. z9 ~7 A$ y3 H( U: Pfunction getRGB(colorString)
( {7 W# ]$ g! Y0 P{
. [0 l- k! x) V5 \ var RGB = new Array;
1 t& v& R: ?$ b, o/ ^ var tempSting=colorString.substring(4,colorString.length-1);& S7 Z+ `2 f9 w" f
var tempArray=tempSting.split(",");5 r$ q3 F* R# q' @2 |
$ v" [: V+ }& g3 n3 U0 ?% w; z RGB[0]=parseInt(tempArray[0]);, ]7 s5 x! Q2 a) g
RGB[1]=parseInt(tempArray[1]);3 z2 e3 N* @6 q) I& d; X% [
RGB[2]=parseInt(tempArray[2]);6 A9 S% R" _- w& j9 m) @ m; N, @
% i( S/ m& i/ o, U! s
return RGB;
: Y( W) w3 x8 H4 q4 s4 V}
J6 S: r B- Vfunction keys(evt) 8 d% H! \/ `5 r
{
7 G' A1 W4 d* y: g7 s$ i if(evt.ctrlKey && evt.keyCode=="81")
7 z0 B* N$ {! S+ z! r3 \ { 7 J: ~, ^6 X: J* I
CleanHideObj.on(0,1);5 T! r2 _) I, L3 K3 G. Q$ i0 c8 K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& X2 v. ?' F% W7 |: X; Y / n" j! M8 u+ }9 o2 m: k4 z
}
" u; N4 D) ^* x w } ! D# y" f5 U4 u9 Z5 t) m* b
document.addEventListener('keydown', keys, false);
4 k) ]. t# z. }7 b* D% o+ q- t- `GM_registerMenuCommand ('Clean Hide'," w3 T+ f7 x- ]6 k
function(e){4 @" i# t6 l" P* k
CleanHideObj.on(0,1)# K8 h# Y. a1 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ n4 D9 w; T5 ?7 X% w
});# p a$ n- {4 P: ~
|
评分
-
查看全部评分
|