|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& n7 J9 e1 W. d X' @) f% }( B* i$ e% i
火狐插件,用猴子3 A9 Y9 `# i& Q1 n% z
5 g* V# V+ L2 D- D3 i' Ovar debug=false;
2 U$ B7 ?. F+ ]( K6 A( \0 Yvar CleanHideObj=new CleanHideClass();3 ^9 B/ ]9 p* m: D
, M$ ?* T" q' v, N0 _, }% p7 q
function CleanHideClass()
* D% R) o4 [3 r* u! n{
, W/ H. Q8 ], v; F
' m' O& p7 J8 b- } this.on=function(id,bMZ)
9 c# u) {" G+ P! w {7 W% B' s, { ~
2 a6 r& T6 Z; w: r4 Z* X- k
if(id == 0)
" h& x: d* @ R6 B% @* @ {; u$ [& O) x& Q7 m2 X6 S( D
var page=/* document.getElementById("content").contentDocument */document; . _) V! s" H @1 e6 k N! F
this.RemoveHide(page,"span"); D6 U6 Q6 @# Z+ n% e
this.RemoveHide(page,"font");& _& X1 M: v3 Q3 e; H7 a
this.RemoveHide(page,"div");8 q) ?' L3 s2 L! r/ z4 {
this.RemoveHide(page,"p");
7 s3 u/ g- J4 U" k : Z, |; D3 I) }' u4 e" n% C
}
2 n# e# S# ^6 T2 k
! \6 ?( f+ o k0 O5 x8 S }
8 n+ a+ i2 L A this.getobjstyle=function(node,prop)+ @3 Q; ]7 r" [
{8 T- J6 g% N1 q, k) n! n' D6 w
try
/ ]9 G3 K1 S- j) d/ T {9 v1 C. Z E, P0 m6 I+ \
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( _- }6 x7 J( m) B4 u } q4 Z) e) K$ ~$ P0 ~9 ]' K
catch(e)' L5 ~" c0 Y+ ~& n* N. [5 x+ M7 w
{: S, ?( H0 t7 ]$ ^+ q
if(debug)
, |- X A5 o9 T {4 j t" ~1 f) Z- ?
alert(e.message); Y" J1 ~# j/ C5 x
}: @- N" A% \! z& @$ f# q
- ]8 D: M% b+ ?6 x9 E K return "200";/ R _* m% i: O( ?
}+ F [* Q) l# t, W# c# I8 e
}1 p. l; Y; ^) f5 U& u
' N5 a4 e5 g! O% L J! G Q this.RemoveHide=function(page,objname)
$ s( E+ F& j3 y+ O- F4 l! M {
& ^5 P7 K, R$ q( Y* x$ | L1 g; G try
: H& J$ B/ L6 k ~" p3 p {% t+ g- p% G0 a! | {/ b
var minValue=15;5 E8 l; A" c3 ^
var objs=page.getElementsByTagName(objname);
# ]% ^) S# `+ A$ R# j( Z$ ]5 h v( S3 n9 K" a6 @" j2 o% j0 w
if(objs.length == 0) 8 u0 N. V2 z8 j4 s
{' a! @! A: c/ K1 Z7 O
if(debug)
" |+ W& Z# j3 G4 |0 ]: ~ {1 h' ?0 s) N) g1 u7 X
alert("no object found!:"+objname);
) R7 C% J9 K5 _/ `! H }
( d1 T5 J [4 k, p }$ m* D9 \1 u& c( p7 C+ s
else
+ F8 D+ [7 I5 _/ ^5 T: n. S8 d {# w5 L) o) G/ _9 ~( v- k
- F& V" Z. o: d) i& [3 Y
for(var i=objs.length-1;i>=0;i--)
, k: W, z% B. \5 C C, { {3 G: l/ L" @2 {& F" _3 d; F
var node=objs.item(i); 4 G2 H' I4 g+ H: }2 a
$ D# K6 u1 Q b ~5 J# G2 v' C: B : ?5 q4 \% U4 ^, C5 I5 ?* D
if(this.getobjstyle(node,"display") == "none" ||
5 J# r' x( |; \ x; r. N this.getobjstyle(node,"visibility") =="hidden" ||' T6 Y0 X+ c3 w* r4 c' f
parseInt(this.getobjstyle(node,"font-size")) == 0)
% }: p |3 ^* L9 ~/ m- N {7 R$ e# I6 {( y+ f* {; a: _5 k# `
if(debug)
, k) {3 m% y- h# L" w" P' r5 t {2 v8 D0 D' \5 C+ |
alert("remove invisiable!");6 J4 `( n3 d' O5 g' o* q1 S
}" w6 O# ] i+ L7 b5 Z
node.parentNode.removeChild(node);
$ B% v- |1 Q5 C! E8 [# ]
; x, @$ M/ K9 \* T& c# f }
# i H( E8 |3 r' A5 M( h else 9 ]1 M( y9 N0 Q+ F; N, G j
{
# h" S3 G- h% P, B8 [4 @( t if(node.parentNode) 7 o% A, P* K8 {; X% }& j+ ^0 ]
{6 f, Y6 x6 i: I
var orgNode=node;6 u8 |: F' U r" G& G0 d# W4 u+ R3 y# b
var orgColor=this.getobjstyle(orgNode,"color")
7 _9 z) W$ f. x var orgRGB=getRGB(orgColor);
7 d% W! i* _% _: `2 L' r 1 f% i \( j0 @5 j
var parentNode=node.parentNode6 D& A7 b: g; K/ q* _* Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ L* _1 ?4 K! ]: ?. H- U2 _. y
# M |, I; b4 f# H# l$ r- r9 J var isLast=false;
. i a" b4 u: s* Z$ A8 C
5 X6 ?+ d+ ^' {- N while(parentBgColor == "transparent")
: U& O0 w" X+ J {
: l- s' [- g, ~+ }5 `0 u0 s. s
# V8 ^! E, ?- |3 P4 n% E
- l$ ^# A" k$ j, C. M% N8 X if(parentNode.parentNode == null)# v) f* T5 i& T8 i, _" S X
{1 ~- ^# u& H$ a+ E o6 E3 O
isLast=true;! N1 [2 m9 L U6 S' {
break;
2 t3 z3 Y" M& a; r$ z4 |7 f3 e }
. [5 f( s d8 M0 W* b4 ]; @) P parentNode=parentNode.parentNode;
, j9 e: i& X% R parentBgColor=this.getobjstyle(parentNode,"background-color");
^& k- W5 O' D8 o7 B3 f$ F) Q( {% [0 L3 l2 \
if(parentBgColor != "transparent") ' N; m6 M2 ]6 |$ }0 v3 q* J7 C3 j
{
7 x m7 h* [' B% {) O- [, a. i h( G break;* A& ~% c$ b' C$ X( V
}
z9 j% R' Y* N }1 p# x8 G% `% l$ D! J4 i( E' }
if(isLast) % ?& L6 f! i6 G/ g' k8 B
{
" u! t8 Q! c0 N if(debug)
5 D# y6 {8 N( Z# F" h. Z {
& j3 l2 Y# c' \$ \) Y( b alert("last!!");4 r/ @/ j3 a) L/ D
}- i( i2 [/ ?( \* J7 Y. }1 w. y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 {% T4 s, _- \8 q* o- t
{% _% h1 C. d* y
orgNode.parentNode.removeChild(orgNode); * \/ B5 X$ j' ~7 |/ E
}1 ~; V4 G- V9 {' L
}: _9 B5 R, x: C& ?) C, w, `
else4 G, N$ ~+ G+ X Q/ M
{( X9 N! F! g, L" H3 ^
if(debug)- X. f: P( |4 M/ g! P" `8 r& F4 A) Z
{
- T+ p, S8 f* \$ V6 k3 L# K) \3 U alert("compare color and parent bgcolor!");% U& M7 E0 u: T A& a
}
. v7 z5 k V8 Y" _5 k0 a2 K parentBgRGB=getRGB(parentBgColor);
' x/ o! ]8 f- l7 Y {# j if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% s; P$ D- F; \7 y$ z
{) |& } V5 R6 I5 H/ [
orgNode.parentNode.removeChild(orgNode); * ?& p0 Q7 }) u3 E( X- ~5 e7 A
}0 ^3 `8 ]* P$ z2 {, l0 C
}
/ r3 H) y6 o2 M" A" x, U& U0 `7 U }9 x8 E0 T; X7 b1 H/ Y# B
}
* i% B4 i% O# I3 e2 K' J5 V0 f$ J }
1 S# B: I7 o* p! e J( a: H6 k' y }7 j/ i. S) g i" c6 T, K
" N O+ A e5 }: G$ m" s k( n% v
! d3 ]/ n/ T( P# v- h& T6 { W
var itemFrames = page.getElementsByTagName("frame");# o* e/ u' r# w" A" F' J
var itemiFrames = page.getElementsByTagName("iframe");
) Q* w, W2 `! E' `* H4 A% i3 K * Y8 S8 y1 j, M3 Y2 Z
var frame, iframe;8 f4 t. q8 L' z' t2 ]- }' z8 C
if (itemFrames.length > 0)
% z5 i' D. Q& ~- B {
5 x5 z8 A& |0 N5 D7 K i+ x for (var i = 0 ; i< itemFrames.length ; i++) & ^: x0 j" F5 a2 n, u
{% T4 Q- a% q; f8 a# N! \9 b( X! o
frame = itemFrames.contentDocument;+ a7 x9 U7 r5 _! U0 e, }5 Y
this.RemoveHide(frame,objname); 0 ^! |3 O! _# S, j; Z
}% D7 O! A9 P5 e$ {* n* |
}
" R. Q; r1 W* W7 x if (itemiFrames.length > 0). x4 |0 G& W! b ^' M
{
0 d# s [" ]/ o6 Y5 j for (var i = 0 ; i < itemiFrames.length ; i++)
+ ^6 E" w5 K' d4 O% ]- \ {" t4 i, L5 C4 R* P
iframe = itemiFrames.contentDocument;
& H, b1 X6 G8 y! l: A" v% s1 m4 P this.RemoveHide(iframe,objname); ! t9 [! H3 Y' \ m+ Z; L
}
* F4 [& {) q% d3 U" s }
0 K: B, G; R9 [2 @: X# ]# u }
0 C- S! v! ~: d2 M" I$ W$ c0 \ catch(e)
3 `) {( F0 S4 A/ |1 q+ s; | {
$ q* X) X3 S8 H1 q* [; _4 | if(debug)
( A$ A8 u a3 D t+ X {
! z, Y9 [3 ~6 j Q5 h alert(e.message);
8 U9 q% |( n) l! x/ f/ [ }
2 M/ Z! G4 u8 U! f3 r4 F \ }. N& ^4 N5 H# \' f8 O" X* }2 p
}7 v# Z y7 p1 w1 t, w: ^
# l, m+ y/ x9 t( m d5 Q4 A. e5 [}6 V- O0 m+ N- ^, U. t6 p
; U, k8 @# D t# u' M0 ?function getRGB(colorString)0 r0 V8 j5 R; c* B2 c& F
{* y2 q9 u8 B$ \ d1 y, X) Q T4 E
var RGB = new Array;! X9 G0 N+ ?7 y/ z+ ^
var tempSting=colorString.substring(4,colorString.length-1);
4 R9 I P+ f2 j" N, O7 D$ y var tempArray=tempSting.split(",");
4 Z' x7 ] l1 t# ~6 |/ q6 R& ]& X4 x) [5 l# w6 v, ] v
RGB[0]=parseInt(tempArray[0]);
* L W; h$ {! ^ RGB[1]=parseInt(tempArray[1]);& r; A' w* C0 d
RGB[2]=parseInt(tempArray[2]); W/ u8 ]9 C. H
1 n, _% B/ A5 N0 }# @3 _
return RGB;( f7 H! ^1 K$ k& e8 r1 q$ ]
}8 B) `/ n( s" r1 Q
function keys(evt)
( U& j2 a5 j- |1 M { q1 x S) D2 c$ I! S* R
if(evt.ctrlKey && evt.keyCode=="81") , i" N- ^, [0 Q; n' p% @
{ 6 }' ^- m4 Y2 V$ N) Y9 M3 D
CleanHideObj.on(0,1);
7 c: y$ {# w& k2 c$ `3 g" V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! v3 @" R/ u1 `" c
6 g4 Y+ q1 k' c6 ], f* B
}
/ P; R# Z; i8 O8 @) A }, } }
" v1 r( I+ T7 G5 cdocument.addEventListener('keydown', keys, false); * D% u! R" m p% W% Z' {4 Z0 E
GM_registerMenuCommand ('Clean Hide',/ F" K8 _, F+ V. p0 v; B7 U
function(e){
# b+ g; S' ^7 Z! U' T5 C+ s2 o9 MCleanHideObj.on(0,1) K t' U7 C5 i: s& }% L( u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- Z. f- D7 \! q- k7 v; O
});
9 n; ^1 `* L- ^; w0 u |
评分
-
查看全部评分
|