|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , |4 P D! |- N2 J# X1 e! Z
) e! t! ]. X! [+ g8 w; q: J
火狐插件,用猴子8 |, x$ J5 R' I* t
1 M6 P Q. S8 n( H- |6 G5 kvar debug=false;
$ O" D9 p0 b6 `. v1 i5 T$ `% Fvar CleanHideObj=new CleanHideClass();$ A3 g. s* ? g; G. ~8 A/ G: @9 r
/ p9 B9 w1 m, P3 D* ?- n# @6 qfunction CleanHideClass() 0 [. G1 j4 @$ k
{ " s( c$ ]: p3 K
; F& w8 F1 O& L8 N
this.on=function(id,bMZ)
- U1 d' X1 X' `- H3 Z- D, i+ U {0 c0 ?' p9 [* K
, k2 L' D6 ]& e& S8 h# f9 | if(id == 0)( W# [3 G; `, h) q
{6 N7 Y8 @- X5 `8 o8 b, u
var page=/* document.getElementById("content").contentDocument */document;
4 F+ E+ C( P, w1 B# j4 K& v this.RemoveHide(page,"span");8 a5 f+ r' h. b; ?( s2 L# J& R
this.RemoveHide(page,"font");2 k9 ?/ B5 g( A. ~8 F
this.RemoveHide(page,"div");! X3 Y/ }3 B/ \$ Y& e! v. f
this.RemoveHide(page,"p");: `: Y2 V' j/ F# G+ c" A1 L5 C6 T
; Y8 \# _7 S3 X* ]% @
}
" M" a4 D! L' u( @# Q; t. N3 [0 H! h
4 d( W2 w$ ]# g, Z. S }/ g4 K: T* a: `, o5 b: m( M( V
this.getobjstyle=function(node,prop)
' S0 i* s' K1 }+ B' n5 g {
$ ]- \1 ^7 i8 T2 m try
( H: t$ ]8 I: M8 Y6 Y2 L5 [1 l* _4 A {
1 [8 D0 r+ ]- h- P. @! q& |4 ~! w, c6 f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; e. o( \: [* C }
. a- S' R+ U" `, i catch(e)
; ?& |$ B7 N5 b* L+ g) t9 \ {
& L: L3 j9 l$ }9 l5 G if(debug)) Q" M4 F" p/ p: L
{! j7 E. w2 w. P* E9 {- a- U
alert(e.message);
0 X) R- [# u f, H# E6 |; G }
@- ^8 N2 M4 M+ R" \) ~. ~ K $ Y8 H: b- N1 ]+ Q- t- J% |+ m
return "200";
- z5 F7 G Q8 i8 j U' g- Y }: ~: V- j) K1 g
}0 p k+ K1 }3 v' _% N1 l- W
& p" t& F6 @6 k" V& C this.RemoveHide=function(page,objname)
' D9 R/ u+ J1 f! }$ O% ? {
, J/ N3 }5 z9 l3 w4 f) g try% D, j K2 ?7 }% v) _9 L/ h; C
{
3 o: S6 Q9 V) |$ x5 \" Q var minValue=15;6 K. {+ n! v3 L, `
var objs=page.getElementsByTagName(objname);
5 p: _! @) [) g" s7 R# X) G
+ b' C- n. ^; n if(objs.length == 0) 0 _4 o4 \; S$ h% n+ D3 A) Z
{
5 ?5 J# ?! `) D( D if(debug)
# G$ n3 h; ?0 S3 n! n {* V' a' M: Z* r2 }7 D `
alert("no object found!:"+objname);
) Q" C. ~0 a% Q1 ]% Z" S: G! t. @ }$ _& N3 J1 T c4 B, D
}# S2 i" H" N9 \! ?
else
2 A4 ~. w8 o' l4 z+ K. @ {
* b' B( b7 ?; e( L* ^9 O9 s1 s
) ~" U5 \ g0 B3 U. z" {% | for(var i=objs.length-1;i>=0;i--) 6 m0 w, [) N- q, r/ p
{
6 A& O V2 W; V8 i, q x" d4 [ var node=objs.item(i); , Q( X( n$ K7 [3 ]9 v6 |
' t+ ~. D9 S$ c' C ' }: H6 b9 B! h4 M2 |
if(this.getobjstyle(node,"display") == "none" ||
% G9 ?. v5 w, T, x( T5 [# P this.getobjstyle(node,"visibility") =="hidden" ||# x0 o, U7 U1 s4 [( Z' ~
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 y' }/ h; [4 ^, J; Q {' s) K9 P9 m- K6 ]7 F: a
if(debug)
, Q% g, P. P9 H1 Y( k7 r8 m {
k7 k/ d6 S5 {+ P; Q! [7 } alert("remove invisiable!");
3 R3 R& \7 _$ D8 l2 v. K5 R7 g5 Y }& V$ H+ b# u6 a, s+ e" j! E
node.parentNode.removeChild(node);
$ [7 l7 I6 {4 J! I/ b1 E
1 R4 i! S1 O: r# B' H }
5 y$ z4 X# Q5 k- V else ' }+ V3 A: Q9 f& l( N& P
{# j! Z- e' K H6 h2 b
if(node.parentNode) ' ~; P/ i- b' ~) N0 U
{& K2 H# q8 K, S' @
var orgNode=node;! B% [' |! E# a
var orgColor=this.getobjstyle(orgNode,"color")
( d: f p$ C& o, R: _ var orgRGB=getRGB(orgColor);
6 D. o' r/ d7 A$ m6 g) A7 ~' w
8 q' r5 U T$ M var parentNode=node.parentNode
$ j, T: x/ ]' K; x2 z7 F var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ E& @+ _ T$ t3 M % ]; x; z) h+ t
var isLast=false;
. f7 R- ^7 U" {5 B3 N3 x
. |! B ]! m1 P' ^; Q while(parentBgColor == "transparent")
+ G/ l7 I9 w: B {
' h3 B) F. c) c7 L% N
! ~/ {% |8 {* D
$ t% x2 A( [* [; l if(parentNode.parentNode == null)- y; X7 Z7 F. Q( W$ E- m
{, a% }- |" E3 n) f7 v$ O; K
isLast=true;
& K! D, x# @- n5 N( a3 t. r break;# p& d. v$ H. v8 \. a. ]5 ~3 f/ P: s
}: r6 y& J& t' w- `8 V/ Y% A
parentNode=parentNode.parentNode;# c9 k/ B/ X! q+ \+ B
parentBgColor=this.getobjstyle(parentNode,"background-color");% A# v& _% C P
: X3 G1 a( ?% \' ~; n8 v# G4 o if(parentBgColor != "transparent") % Z' i. L- \$ p6 A3 ?
{
9 I$ c9 N5 W9 o5 H" R8 k break;& Y! H, \4 `5 p. N1 i
}/ u7 E R1 G9 `. V5 B/ \. z
}5 O% f' {5 M5 z q- r
if(isLast) 1 O/ i6 d8 O/ d q3 {
{; m7 m' g# \1 L8 S
if(debug)
& m- \0 Y& ^5 A8 V; X {- b+ O$ k. e5 z
alert("last!!");
, w: q9 l3 M8 { }
# M0 p) n3 E% w+ \, t, [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 ~$ ]" I2 c i' b2 o
{
1 k. E) N$ ?6 Z9 g orgNode.parentNode.removeChild(orgNode);
& u' J% Y) x0 g" F }* O' Z! O/ ^& r9 A& c
}
- e% V" W) I) S5 v U else
9 }) B- _) R& x$ e {2 h2 t# K/ B0 Z h, h. [
if(debug)
7 C/ m# w: c* A% ]' A {& q) b1 `2 }" I& c ]. h
alert("compare color and parent bgcolor!");
; ^7 L9 c% l# K B2 c }$ D) o# [# d; P8 `! O7 U
parentBgRGB=getRGB(parentBgColor);
4 E+ t* N6 ~3 M, a) C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ s7 A8 x- v, R3 c! f {
# O% p: t7 I* U' q orgNode.parentNode.removeChild(orgNode);
& r+ n7 [1 D- C; ` }
1 x5 S; }8 P+ |5 Z0 ` }
( w) k7 B7 X- X }5 b( @5 K% c) v& @' q, s
}
& \' |4 V2 s7 a }
3 |: U ^* i+ @2 ^ }
. P( c8 v( q8 S
, V! A0 }/ l& N9 X. h9 r# ]; V % I1 m6 m( ]" n5 d
var itemFrames = page.getElementsByTagName("frame");
) P# F/ f; G( C* ~4 B- F var itemiFrames = page.getElementsByTagName("iframe");
+ x, U* z. v; `9 z. t" ]! d! k/ @: g
, W( W& ~ |; ~, N5 n6 Z @ var frame, iframe;8 d. {2 ] B6 [1 c
if (itemFrames.length > 0)
( J6 D' Q1 e! Z/ r) C/ p% c! }5 M {
; L& {6 J* J D- s/ e2 |9 O for (var i = 0 ; i< itemFrames.length ; i++)
" A4 v7 t+ q/ U {
8 r$ R; \. F3 x% ^1 l frame = itemFrames.contentDocument;2 L5 d! k) j3 i* R p
this.RemoveHide(frame,objname); 7 T/ g- `1 n0 Y) e$ j
}
1 z x1 I: G- B0 b }
2 i6 L( \6 z7 G4 K; C if (itemiFrames.length > 0)
+ g: s7 i! c( R7 i- e { {
# }% ]4 ^) ^$ }7 A4 ~ for (var i = 0 ; i < itemiFrames.length ; i++) 2 c! {8 s& R; q2 e: C8 k3 j/ [/ f/ o
{
! e, [" W* F( w+ y2 _# q6 E" g iframe = itemiFrames.contentDocument;# ]4 e( E* d' a0 B
this.RemoveHide(iframe,objname);
$ v# L5 N- q2 D( \4 h }- n9 z/ ^2 t3 ^ \1 Q
}
) [- L% H }2 ?: N }4 b; H$ d! w2 B6 @. E
catch(e)
0 ]+ X# ~3 s; V) Z6 O {% g+ C6 _1 e$ t- ?9 u0 n( [7 H9 V0 B; W
if(debug)
+ h0 }! N D5 ~ o- p {$ ~* i: X H' x8 T" q& d5 U
alert(e.message);- W2 [8 h& b0 h+ e# {1 P3 ?
}' J2 @; O$ d: d) W
}
# e' Q/ C/ D9 ?) S! k }! q: K* n) O( @( z0 Q K! h, o
+ d) G. i4 E1 F% W6 d) y9 K3 U
}
6 A" N( t9 G" [' c) J- _0 t# n
; Z% i0 }% T$ U/ l# mfunction getRGB(colorString)
]# q) ?7 s- g% | [ T$ ?{
0 g! }0 ~9 _+ `0 G; ?/ [" z8 u var RGB = new Array;( M' J _' _; v* T7 b/ Z' j
var tempSting=colorString.substring(4,colorString.length-1);* z4 B# H2 O8 f. R( ]! i
var tempArray=tempSting.split(",");
' t8 j: ]1 s5 D6 c
, ~, n+ q9 M+ L7 X4 o RGB[0]=parseInt(tempArray[0]);! e# ]* E* p5 U* \
RGB[1]=parseInt(tempArray[1]);
' I3 z. Z: M) W) F0 q3 G RGB[2]=parseInt(tempArray[2]);
' I5 e8 X) h% _9 S4 Q' [ / v1 D3 J/ m% M& ], p. u
return RGB;4 ^* N, P; O# F& f) k9 S. ]* w8 z" l6 H. M
}1 M# r; m6 O5 k( w
function keys(evt) / k! @) s) ]& F. B. l& ~4 M0 {; J
{
7 O7 f; W4 r/ \( W' m3 @ if(evt.ctrlKey && evt.keyCode=="81") . \, f8 N# v. B4 R
{
6 j( C1 |9 l$ E# \3 C CleanHideObj.on(0,1);
! g: I3 Y* C) O: f# u+ w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
C2 w$ s# U( W6 c1 g9 t+ |. t ; I K$ A; }0 H( J
}
6 Q5 k: j5 d) K9 x } # u" }8 g6 l! x: |6 y" }; C
document.addEventListener('keydown', keys, false); : R5 P+ E1 B- b! E g+ c
GM_registerMenuCommand ('Clean Hide',
0 v8 t/ u( q% W. U8 ^& Z" |function(e){) f) U- I5 E5 S/ ^' f& ?8 E
CleanHideObj.on(0,1) T$ D& x( z4 ?+ }9 S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) N+ e* q' n% R5 o
});/ Y6 h% P$ p* p
|
评分
-
查看全部评分
|