|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; i" g; e6 _0 _. T2 ~
! q1 G- h( M) j/ Z7 z- z- y' ^
火狐插件,用猴子0 `) k0 c% o1 B' O& y
( N2 }% i$ h6 @5 ~! N9 K8 |# l: \
var debug=false; 0 j( z$ ?3 E4 \9 \" K8 B b
var CleanHideObj=new CleanHideClass();6 f) N& q; V& z9 N$ z8 a3 R9 X
) j# H9 a# D6 y# K# r$ Zfunction CleanHideClass()
4 @- M5 H8 a# H* N$ g* c+ C' I{
# t5 |/ z# V. H4 ~
! ^3 H& A& c* `. T0 l2 k this.on=function(id,bMZ)
. f( B; R& w* W- V" u {
3 M' x; s' J2 c' H$ l ! s8 k1 {! q t1 \4 p6 r
if(id == 0)+ `: I* R$ a; q F" |# k
{6 Z* K, i: i! {
var page=/* document.getElementById("content").contentDocument */document;
) M* y, |+ f8 S0 V5 R. |4 L; x this.RemoveHide(page,"span");# @- O, W' ~& O9 P. Z
this.RemoveHide(page,"font");5 I6 }* Q3 |" E
this.RemoveHide(page,"div");
- M4 ^- t* j0 @ this.RemoveHide(page,"p");7 S' D* u, w2 k
v5 U' ]6 ?/ X% S% i$ m }/ }4 s* H. l1 X* t
C: N) I! `3 i1 z* M [
}, u8 W% M6 [# `
this.getobjstyle=function(node,prop)& i# U M: a a J) ?# t% Z- [. f0 i
{1 L+ b* P- ~4 }% n. F( C
try
$ Y! Z }7 V' W. m$ T8 Z0 L4 ~ {
; f" A1 W$ H4 F! K- I |( J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
Q; _9 t; p X }
: g1 E v# e- a, G6 \ catch(e)5 p: n; K' n) O* Z0 ~& l
{
% b6 i: Q6 v) {4 f0 \+ ` if(debug)3 g( _8 k$ M. K. P
{
! k1 y3 e# | {# d' ^/ Y8 [. B, h alert(e.message);
+ _6 v- V+ D0 Y6 ^6 S+ E }
+ g3 ^9 t) K, l- O * m( f1 N& l& L" |6 P2 ^' v
return "200";7 C, p* @4 V; a
}
; ? _1 k5 g l9 U }
7 }5 \8 {4 F, e2 n 7 [( l5 u9 ^6 H9 p
this.RemoveHide=function(page,objname)
% F! x; d* o) Q- E d3 @ {2 y. O; ?9 u, g1 W. t
try
: ]2 `1 e. ]2 a1 l) F* q& |8 T2 N {& v- d( q4 }6 y9 w2 S9 T% _* @$ b1 v
var minValue=15;
1 ]- i6 M! X0 z+ K, F! Y# F- g @ var objs=page.getElementsByTagName(objname); : h" i9 ^! k+ c- [/ p) Z
3 Q% m! A4 r N4 ^- W if(objs.length == 0) + d* l- x) z7 z# O5 D7 C& W# a
{
, h. @( [6 X! K6 Q: S% N' d/ N. e( s if(debug)) Z9 M( Y( E9 U' u
{
( O; o: V' T( c+ Y; ~ alert("no object found!:"+objname);
" X- D: G2 J& }3 g c% z } q3 G& ~9 q0 n t1 y( o
}
: _2 ~! q0 R. D& b else
4 g6 M% S) G6 Z! t2 f {
- }0 v; e2 ~4 ]- _/ P9 j; |4 c 9 w P t2 w) S- N
for(var i=objs.length-1;i>=0;i--) ; G6 ^( u) \* P. P
{
) l- f0 @ I) Y n0 m var node=objs.item(i); 1 s4 Q# F8 e. S" S0 k" D
+ }* Q: e/ r3 `6 j }0 H
n6 p5 t: S* _0 Y a) j3 \ if(this.getobjstyle(node,"display") == "none" ||
2 {4 y4 B+ {; y( l4 Q+ ]6 g this.getobjstyle(node,"visibility") =="hidden" ||
: m, ~( j% E0 i( J3 j9 `4 Z( [+ y9 o parseInt(this.getobjstyle(node,"font-size")) == 0)
+ D) c7 |* j+ `. a5 a {6 f x, l2 M/ W) R
if(debug)
' }" V2 A" l1 W7 x* L: V4 j {- C$ K# J: K5 I/ z' C
alert("remove invisiable!");
* H5 z* M9 _- S N1 Z* U" S }; R) ]' R: d8 g
node.parentNode.removeChild(node);
+ C7 d. m) N+ E; Y) i& }& v j
( X8 U/ ]* [5 L' n' M9 }6 n8 _0 T/ x }
+ D. f$ @% o6 r2 p5 J5 j: Q else + P" N# E8 \; t+ @ n
{ ^0 T" w5 B3 d. ]3 x7 I( T
if(node.parentNode)
3 [# S; M$ R# `# c {0 N6 ^' d6 [* o2 E: G& ]: f
var orgNode=node;
1 H; E2 u! v8 C1 d0 C( }0 L var orgColor=this.getobjstyle(orgNode,"color")' Z/ X6 b I( o# s! c Y$ Z; f
var orgRGB=getRGB(orgColor); , w; ?( m" d2 b$ e
0 ?- V X) J& v7 u6 H8 r var parentNode=node.parentNode
1 t- t+ q. A0 M7 j: L var parentBgColor=this.getobjstyle(parentNode,"background-color");
' N. F" }, j T0 y # V+ s" J+ A! X7 G0 [0 A* w( M
var isLast=false;* w) R9 |! W e. J, N
& s0 ?3 b, i! ` \
while(parentBgColor == "transparent") * @( t/ c5 T) @% }$ g5 p
{
0 {+ [2 `- r+ y* [& ~
; f: u. l5 p" W5 P: v1 b / B) |) T6 I. p8 w" V6 e1 V$ F3 `1 u
if(parentNode.parentNode == null)
$ v7 M% `- k# d# A {
+ J7 G& i8 }1 h5 U! l! m isLast=true;. Z5 w W. m# F' d1 Y1 W% n
break;
8 `% x* h1 j( z2 w) j6 @ }
9 j# V* @0 b% o0 w( t parentNode=parentNode.parentNode;4 ^. r; u! Z4 v" V& r4 h- L7 U# O0 ^
parentBgColor=this.getobjstyle(parentNode,"background-color");6 v, s9 R* y+ U" {. r# k/ ^
" D! y8 i( [# ~5 m$ L if(parentBgColor != "transparent") 0 u! J- g9 H4 J l" s
{
+ @9 `) A7 S9 h, @. U- D break;# O% O6 G0 k, ?
}" z9 N, t4 t' ?. S% V8 |' L2 I
}) [4 y+ H0 l$ w5 i+ X6 |
if(isLast)
& T% }& Y' C* S! y3 ^3 w [ {" p* |! M$ m, M: E' d
if(debug)
4 }( w7 c, X, B0 } {
- ]( c/ L; Z# S% o/ V& | alert("last!!");
# n& L$ j# i0 o/ X; S }/ L8 B' v: Q$ Y5 D; W, m6 d0 ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ {9 l1 P3 p) g. R1 P7 k! {. K
{
8 g$ C7 _2 d' e3 w" K6 @ orgNode.parentNode.removeChild(orgNode); ; g8 ^) J7 j/ d9 V+ f* w1 b2 f
}
" w2 a' M4 G* N& s( N }
' V7 D5 L0 U, ^" A. P G3 N else
! ]2 w$ l j+ s2 r% ? {& |; X- ^, k' z% m* g+ `" p; }
if(debug): q. ^) A# a6 ?! F
{
9 }6 }' C4 m2 g$ o! r0 X5 W alert("compare color and parent bgcolor!");# ?' A1 ^7 h& L( p' |
}) K( m, K* h4 L4 X6 n8 Z& R
parentBgRGB=getRGB(parentBgColor);4 t. b( X, H2 |+ u( D+ @3 V+ k) N* }4 Q7 G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; F7 V' o ]5 p( ]3 g( k {6 L* @; b3 R- W/ i
orgNode.parentNode.removeChild(orgNode); 6 d' N4 u) J' m4 ?8 R
}
( X% Y' x$ o$ Q9 J8 I }' [) G2 }- g4 U; d8 ] A. D" l
}
# a/ ?* K0 S v: y+ W }
2 ]; V9 s/ r: t* K }
, y+ ]# P8 ]' @9 a. X+ E4 |" L2 Y }2 H0 y! R8 F& F% N; ~% q$ G; u
1 t8 X. I& T' `" p # Y) i* [* D/ m& j$ ?5 g1 e/ [
var itemFrames = page.getElementsByTagName("frame");: ?7 W* Y5 R4 \# j" a8 a. {
var itemiFrames = page.getElementsByTagName("iframe");
9 X; d1 m; y( S/ [8 O% x& h
q+ l2 f% W4 i# b var frame, iframe;
+ u# ~& z5 u( T if (itemFrames.length > 0)
7 X8 a N7 v; Q* n {+ |5 l/ J: k0 e% C
for (var i = 0 ; i< itemFrames.length ; i++)
0 S* o, H$ R3 Q5 ~ {
$ m4 @& C/ Y8 q9 N7 n0 K8 z4 B2 ^ frame = itemFrames.contentDocument;9 F# a V# ~2 a
this.RemoveHide(frame,objname);
: C3 W$ v# p) o" [3 r+ K+ \ }; W( {7 ?$ [6 c' A2 ~
}
, k3 U2 B" u6 Z if (itemiFrames.length > 0)
( y, r( v" J& \' @# }* L) } {
% @9 T, I. N Z- k( z, m# g for (var i = 0 ; i < itemiFrames.length ; i++)
4 Z$ t7 r# J% N" W9 b) i! V {
" k) X ^% I, j. i- B! z( t4 Y# f iframe = itemiFrames.contentDocument;0 x3 |: W& T S% Y w& \
this.RemoveHide(iframe,objname); 0 V8 A4 ^4 w6 R+ q
}
* ?5 F7 \ U# b0 c }/ d2 v$ ~" Y% O, x: h
}
2 A) e% E$ o' ?% ` i catch(e)$ V3 ~$ T+ ^$ \! [- Q, q
{
( j* J3 U" B8 _ M if(debug)
, w: i; |% Z8 f l6 N {
3 A1 j( F1 b1 |5 H9 x alert(e.message);
7 o8 i) B/ R. f/ g9 d9 @' D- y }1 M6 B5 O; g" D9 R& s7 L& @
}$ Q' ^0 b4 g/ A: |
}
5 D* v' A: r7 k: F# J7 B& k* U ! {% J7 q* w- K6 A3 I; I# G
}
3 `% w% f( n. x4 K; h7 H5 ^& E# r' T0 q) x+ z
function getRGB(colorString)0 c+ ]' d6 J( [+ M
{# K% d. V( O. A x5 c/ [
var RGB = new Array;, i+ Z) }" Y# F" o' o
var tempSting=colorString.substring(4,colorString.length-1);/ ]$ p# v7 a7 M
var tempArray=tempSting.split(",");: ^! e! l; d+ O& T: Y
9 c* K8 D- c, G: G RGB[0]=parseInt(tempArray[0]);
4 B, i7 C* c, { RGB[1]=parseInt(tempArray[1]);4 h5 c- ?% G0 L$ @+ C1 D
RGB[2]=parseInt(tempArray[2]);
2 O" F! A% Q+ R/ \ . @; L& T' l5 x( G: D
return RGB;
5 D4 ~- A# h* q7 d}
+ q) M0 U: o5 Z6 ^+ U W& W; zfunction keys(evt)
" o& l( I6 Q, f! K- d1 g6 k; t7 y {
, X% T% G4 U0 A if(evt.ctrlKey && evt.keyCode=="81")
7 o% @8 R% e% n% u* b U p9 U6 J& o { & e( B5 f% u, M* l
CleanHideObj.on(0,1);
+ w! e$ W% s! l: D' O alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : k, M) l& e8 y# w2 E
, L3 ], E/ A1 B! J' u* q
} , E% F8 l$ T l& }( y; D6 {, L3 y
} - P0 E1 C5 p7 j, `2 Q! Q
document.addEventListener('keydown', keys, false); % H; {9 T+ H% R; o' F3 U
GM_registerMenuCommand ('Clean Hide',
1 @/ Q! A" E, `8 C5 Q! efunction(e){
3 F$ i2 |! _9 z# L4 K. _& BCleanHideObj.on(0,1)
: Z- f- H8 l' T Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" p4 V) P Z$ C! j8 p) i' J" Z9 }
});
0 t% t6 O& D# z |
评分
-
查看全部评分
|