|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. z5 I4 L) ^7 c: p' t+ |+ t/ ~8 v! g1 Z
火狐插件,用猴子
$ y# p& F5 o Y z
2 V. q8 K( t& r9 [5 Zvar debug=false; 6 }* @& E5 G9 k, O
var CleanHideObj=new CleanHideClass();7 E4 z/ h8 K8 r5 F! {
/ U7 m/ p( G( Q; w8 T3 p
function CleanHideClass() + z9 u) w6 u! p
{
, u- A4 C% U- o3 I" O! K# V 9 C$ @6 I% F1 H" F
this.on=function(id,bMZ)) _$ T7 r- C# Y# T
{
; y1 } U" Q3 r8 L& f2 I+ S ' [& _0 r5 j# b) E
if(id == 0)$ f0 |5 S$ {. y
{
$ F. r- }0 Q+ q/ q) E var page=/* document.getElementById("content").contentDocument */document;
" ^, }/ T9 b | this.RemoveHide(page,"span");4 s H) ?3 y9 F2 \' i
this.RemoveHide(page,"font");
, ~! A. A4 u/ m1 x4 | @$ P- J u this.RemoveHide(page,"div");8 j/ i, x% d1 [* J
this.RemoveHide(page,"p");: S( E: h, k3 c( t y1 M% u( D
1 r- k9 U3 G9 @7 c- |3 j# e
}0 m+ G8 z1 k1 _1 t$ Q# _5 a: V' I
9 }4 X! y7 [. d; }9 b }% r4 |* r( r& n8 N% ~
this.getobjstyle=function(node,prop)3 R, v9 J6 u* d4 d- h
{
6 f8 _" F0 {5 D( i4 m; o& @& H try
& L5 \$ x* ^4 D, D {% @' Z! i1 ~% K+ b* x- K8 s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; P' j% `6 _ c/ _1 d6 }* p6 L
}2 r7 {& I2 d- E2 j$ W% u# L/ ^# U, T
catch(e)
& N) b7 c2 u& ^7 x* t {5 u$ v* R1 v. f# u
if(debug)
$ f# u, n# _! y, ]+ t7 K {+ O" n) l) b" b- s
alert(e.message);
% F: a; C1 K% K7 }( ^ }! R9 T% T+ M) j& @ B5 v6 g8 p
) _: r% {6 L4 d0 F0 D
return "200";6 ]4 p) c" w- v' [& y2 o5 l
}
3 b$ b+ a" R+ @) I9 B }
1 r% U! ^# |% s" @- i0 D9 u 8 C" L4 a/ R; a3 O3 d" d
this.RemoveHide=function(page,objname). f3 H( Q& q; y3 s7 V) {2 X$ p
{8 t) L$ f6 x5 W5 M! U
try
; n7 e( o6 i8 G {
: E$ e: G9 M( d var minValue=15;( j! w- t& H: J* l8 n
var objs=page.getElementsByTagName(objname); M1 R- O3 x! b! G" b, W/ H
; l3 @1 U8 t4 S; b' q" U
if(objs.length == 0)
( k) T1 K7 R* Y- O: t+ ?0 _ {
3 x- D! H+ C5 K5 T6 j if(debug)
6 u# }, o+ _8 l4 e. [4 j {
% \7 E5 Y7 g4 ?% F/ m* j alert("no object found!:"+objname);
( k( e) ]2 M! x9 C% e }
, d0 I+ \/ C2 t! u% c' W9 H L }$ _1 B5 y! R+ C9 } \% p
else1 ]: @# c, ^2 l. Z
{5 w4 Y$ u+ S% p6 [! m
8 ^% b3 V3 x6 B( D8 Y for(var i=objs.length-1;i>=0;i--)
8 Q: F# s+ t( J" I% m6 v: M6 K {
; ^+ x& C( J( } var node=objs.item(i); ( k6 s% V% S5 H! n
" u( a7 p8 f2 X+ ~
1 r" e2 ]3 Q/ D3 m2 V; a2 Z
if(this.getobjstyle(node,"display") == "none" ||$ H, J! G( f5 q9 o4 g$ Z/ o
this.getobjstyle(node,"visibility") =="hidden" ||
- e" d" T6 S4 z, A7 W parseInt(this.getobjstyle(node,"font-size")) == 0)
! B8 E* C2 R1 v% ?2 T {4 K; F9 A+ ?4 {% i9 M: l8 i
if(debug)/ E4 n C3 M% ]) _2 l# Q
{0 b7 Q9 J. F& r$ f2 q3 P/ f8 S
alert("remove invisiable!");% D& j/ N. u: Z' |( a+ k
}
3 S) O' L$ D' ~- B- M6 n, n- h2 a node.parentNode.removeChild(node);; Z! E! R* m, D3 \
+ M! j" C( a- X5 C9 b5 G }4 _5 J6 {6 b* `+ t) b: j- y) @" f
else
& v4 D# o+ |) s {
2 H. `3 k' O: j% h9 a; L if(node.parentNode) , G y& B R: q3 r4 p6 {
{
6 i" ]* ?2 |7 Q) M' J" _6 ~0 r var orgNode=node;
1 F& @9 Y( }( Y6 P" ^2 e. T var orgColor=this.getobjstyle(orgNode,"color")% U) V& {" M2 H$ \/ d
var orgRGB=getRGB(orgColor);
" D3 E; _ `4 ^ J" t) t9 | A! u4 b1 W* Q7 R4 x; J& e5 i
var parentNode=node.parentNode
" Y' c. ^* K( Z3 k; { var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 K8 u' C7 u: i: ^
4 G6 Z. D$ o- `* P k( M- \3 D9 ? var isLast=false;
; L* e3 g* ^8 {6 l U
, z1 [+ _+ M& ]* r3 | r while(parentBgColor == "transparent")
( S- D% H% Z- h/ s {' j% }" L+ X) w# C; T7 ?7 v
5 j+ m8 ]- D) N
- ?7 S' I) U8 k+ I% _& x( C6 m1 m7 T
if(parentNode.parentNode == null)
! n5 R+ H8 r, t, d1 e( i {
) {( U) z- z/ I+ c# q7 W isLast=true;7 I: X" `* g7 _* _. d2 c0 x4 { J
break;
% p9 D' G) q- x+ @7 B9 t8 N }$ R- \' Q: r& w6 V8 M* k2 j
parentNode=parentNode.parentNode;
' u4 d" l% e5 v2 } parentBgColor=this.getobjstyle(parentNode,"background-color");
5 T+ o. V5 B' C# F0 c, U' D% C
, S( |1 ^& I1 q$ h& \) w0 r: \( g if(parentBgColor != "transparent") 2 p8 N& C1 |" V3 M- G
{
# l4 g V! }$ V0 f2 D break;$ f. C! Q# Y2 r
}! r/ T+ n+ g+ T6 A% W# |$ A
}
: h5 Z- n" i* Q5 R( ? if(isLast) 4 V" P, w7 f" x) z
{! W* H) Z" a+ F7 x
if(debug)# n& l; u% E8 p' Z9 \! G: X1 d
{
5 Z; j& q4 { |% [: w3 T alert("last!!");
3 B8 M8 J7 P1 `6 O$ I% a) D) n1 s2 ] }0 m0 K& u# t' i' o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 C- P" `) w0 N# U! h) P# B3 M& T- I {0 S- [# Y+ {+ L/ s- Q
orgNode.parentNode.removeChild(orgNode);
) ~0 Q2 m- o4 n. h4 F4 \) B }6 ?+ Z, M7 t/ ~( g
}
9 J7 ]+ A" \$ ?' M$ p) e else: g% K9 M, m# |3 C: Y! [
{4 w* ~% c) y! f
if(debug)9 c& y/ H) V) d) } c
{4 w# A. J+ x- s! f' x7 ~8 W
alert("compare color and parent bgcolor!");
3 ~- R7 ^' B9 Z2 W m* h- q }
+ E( _: ]1 N. h0 R* J" d- {+ e# Z( \ parentBgRGB=getRGB(parentBgColor);/ y0 @8 J1 R1 l! w. Z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% N9 n( }& \2 [/ N, V' X5 _ {* O! X9 W$ ~1 u6 ^8 i6 ^: z, L. Z
orgNode.parentNode.removeChild(orgNode); : b* ?+ e( O, F; L7 z% F- \
}
. F' \) F q; h* q, z; C6 t( y7 f$ ? }" j: G3 l2 L I( `' W* i+ t; n
}- t. T8 ]% Y5 ^5 S( ?& w
}/ t" d. h, S; l9 _9 x: G) {
}
* {7 C( t' E/ j; f }5 T+ d3 k: P) U- p( \
' ], x0 [) ^) D' ?( @
/ W, y: D8 y. j! p& ]# B& { var itemFrames = page.getElementsByTagName("frame");
9 ^/ `' g0 C* e. X var itemiFrames = page.getElementsByTagName("iframe");& c* e) x" y/ T; r# d: E: U6 U) p
8 e8 v0 G) y" _" H var frame, iframe;) K6 U1 `) a! u) P& X' {+ t
if (itemFrames.length > 0)
+ _ j/ ?$ g) G5 o8 Z1 D1 J- V {$ W- y' `2 C" \9 a5 Z
for (var i = 0 ; i< itemFrames.length ; i++)
! C/ u; X% Z- r0 _9 k5 Y {6 x9 B3 l8 w8 F; I; `# ~
frame = itemFrames.contentDocument;2 e' x9 {' Q9 T7 b) D8 i5 l4 m
this.RemoveHide(frame,objname); 9 z% |7 O, {# E
}. ]4 b8 y/ f3 \6 p5 u
}
; r# Q3 O0 ]/ n3 B4 Y" u if (itemiFrames.length > 0)$ U& l, K; Z/ X" E, R3 s
{* x8 |& ~6 _- o* N- ?: s. D+ F
for (var i = 0 ; i < itemiFrames.length ; i++)
. H" v- @9 t: I/ O1 G q {3 u$ j7 Z& r, a: m8 p: s
iframe = itemiFrames.contentDocument;
8 ?: |) B' ?- M; C, x this.RemoveHide(iframe,objname); ! I9 J$ a$ Z0 n$ {5 x- ^9 A; Z
}* C& x6 L; n9 \% ?5 Z
}7 H) g& ^/ w7 D2 O1 ~, u/ h
}
6 p3 Z+ ^& l7 z# p$ B2 G \ catch(e)3 _# B% k. [6 b* Z: G
{) l# h& Z. @% O
if(debug)
2 P& t* _7 Z, m. n {
1 U$ r3 y8 g% O, a' F; o: {8 c9 }; F alert(e.message);( f/ t! ^ L/ A* _' Q' n4 Z
}
1 \- q) I! H( T B+ q4 d: M7 V }
# k# l4 g: e' e8 y1 t }4 k/ s. A. ]8 i9 ^
6 n" O4 a0 b s4 V9 l% r* Z
}
0 e/ _! u. s/ @, M! |, {5 e k. G
function getRGB(colorString)# _' x& _2 k; z+ w, `: p
{
+ S f1 u6 m- G5 Q. v- z4 P1 y var RGB = new Array;
: ~1 L/ f, C& ^ var tempSting=colorString.substring(4,colorString.length-1);" L5 l8 y! V% A/ z
var tempArray=tempSting.split(",");# K+ Z* V. B+ R( S' z& F' J7 X2 e' ~
: ~( d/ R; F' R1 [) S! C
RGB[0]=parseInt(tempArray[0]);
B9 w9 `" J" q+ U& a8 X" p! l RGB[1]=parseInt(tempArray[1]);+ e. b, ]4 m# @( w7 V. F- N$ j4 J
RGB[2]=parseInt(tempArray[2]);
) N" m% x- c# f! q+ A$ ?% V! H
! a) o; c% R0 l! z$ ^' \; S return RGB;
) Y4 v/ `0 [4 V, J: [}
) y' w0 M3 t: @8 ]1 E3 y0 Efunction keys(evt) ]3 {+ k! e# Z
{ 9 F0 i. E% k& N4 t2 r3 O
if(evt.ctrlKey && evt.keyCode=="81")
( E# T g: U; T" A, T1 \ { $ @! v, _3 E6 I& O; e, @+ G
CleanHideObj.on(0,1);
& C6 w3 E* z: P$ [* x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 I, x1 x/ }0 } X- u: \
t% x1 o% p) }& p, s+ E
} . m) Q: v( \: L; h9 t# C7 L. n# k2 \9 x
}
2 {, C3 P, T. }0 {$ k+ _8 i1 Vdocument.addEventListener('keydown', keys, false); ) \. l3 Q0 y7 i5 q$ R
GM_registerMenuCommand ('Clean Hide',, }/ Z% m; L/ n6 [! C8 B4 H
function(e){- W$ C, G9 F1 T( W# ~
CleanHideObj.on(0,1)
) j/ Y; x' v) u9 G+ kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- u7 s1 w% e' d/ `2 ~" i3 L# S
});! V) S6 i+ n5 p$ _5 Z; A3 h
|
评分
-
查看全部评分
|