|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 }& Z' g: c y9 [% a; t! g4 B* U" `0 [ p6 H( Y8 G5 w
火狐插件,用猴子- X) U3 G- j" W2 a8 t8 z
2 k' M0 Y6 V V2 Z' |$ M3 j. R( dvar debug=false; : q8 ~" i; A: L! C& [
var CleanHideObj=new CleanHideClass();
- I8 Q! K7 U6 ]* v8 q @2 d" ~# u0 M3 v o# e2 I7 R& R
function CleanHideClass()
: w4 H7 ?! E& U- c. k: F. F& J{
4 l$ l0 r8 h o- Y/ ` 5 Q5 T# R i6 B9 p" D
this.on=function(id,bMZ), q! U) q7 V! C) C' D
{
- X/ p% [. H) r" @+ v6 x9 Y
3 k5 D8 ?( U! k; M( q3 V if(id == 0)
3 U3 z, O( ?7 x, O6 g' M( ] {
7 a% K$ ?: B$ s+ y- G E; u3 x var page=/* document.getElementById("content").contentDocument */document; ( e4 O6 B; j( O2 A
this.RemoveHide(page,"span");
+ A1 I' [* S4 k this.RemoveHide(page,"font");
2 M5 Q0 \" ?3 J: U3 M [ this.RemoveHide(page,"div");
7 c# D7 D/ f! M4 h# O- x9 Q this.RemoveHide(page,"p");
]) G7 `1 c: Y
& F* t9 T. k9 @0 ^ }
, c: n5 s8 j9 j
# \! D2 ^: W a1 t; L4 h" n }% ^+ n1 K! D7 y7 X
this.getobjstyle=function(node,prop)$ [5 ~4 X$ {# y& l% f0 q
{: G, p2 n- m' K- O) ~ M
try
( q7 B: O2 [% e. l: ^* D {, j3 x6 g: l% z. Y/ f1 @+ E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 |8 Z" G& W, l7 v1 W5 w9 E
}
& [5 u3 A0 o" i catch(e)
" R: K$ S2 P1 G) t G {
, `9 w4 Z$ i8 u2 o @, V if(debug)
" \- ~9 D# z& y5 x5 E$ L: j- [$ l* q2 v {
2 d3 Q5 }7 {! F- f- M9 q) W alert(e.message);
* G1 Y) G, S' z7 k' `: W( ] }
4 v$ Q! b9 G! s+ C 9 Z! d% p0 P- {
return "200";
7 o0 f: o8 _# n" i& E }
- V- E' s8 D" g% o }
( B8 ~# ~" m5 n6 q# G 6 H/ o3 |: Z2 O( i/ [( l4 u) l
this.RemoveHide=function(page,objname)0 q8 \- }( Q! w: q
{. }& H2 }& L# t+ Z1 w4 @, r, [" s; ~
try
1 E/ F( U4 i' ^- q* r ? {
* z4 m8 t1 E6 _5 @ Z var minValue=15;
/ K5 F: m- r1 m# p$ S var objs=page.getElementsByTagName(objname);
j/ H8 A- `* z0 Q0 _ \
% ^ D" X# v% Y W; F$ ]4 F9 j0 i0 U if(objs.length == 0)
1 \8 g) S+ d8 w- p" Z# Y7 ~0 P {$ k: O4 i" r; z! V! d5 K3 P
if(debug)0 M0 V! o2 T) ^% F& r5 R
{
! X* C. |, w2 z) W1 l4 l0 Z alert("no object found!:"+objname);) H7 a, _9 S1 \" [( ?
}! K* H& ]" t) V2 v' c6 P
}
7 ^2 y9 Y1 a6 X! l- v else2 Y# V8 [& @& D# K' h
{
) Z( x& }7 v+ c
$ S5 @. \1 {+ [% N* } for(var i=objs.length-1;i>=0;i--)
: W4 X" M K( R n {0 n, `2 @2 p2 F5 O
var node=objs.item(i);
: {: A) o3 D9 o' Z3 ?
! x* [! X) O f# i/ ^+ D# N 5 A1 N2 |( x9 A. A% I8 o1 ]& @
if(this.getobjstyle(node,"display") == "none" ||
% F2 A% A7 J- m$ Z& G6 O this.getobjstyle(node,"visibility") =="hidden" ||
! N4 M2 N6 {$ U1 s parseInt(this.getobjstyle(node,"font-size")) == 0) 7 t, S( K) [* R5 ~5 Q7 e: B
{2 }3 ~ M8 N L5 w- ]- N/ \. Q
if(debug)
' y/ ~/ w) `/ d9 p9 t( h {
% H( d9 p/ V0 D# ] ? alert("remove invisiable!");
0 _+ r4 d$ W7 O5 S' x U* ] }; H1 e' L! j) V: p* F
node.parentNode.removeChild(node);
; N& A8 i m$ o/ @$ {! G3 U$ z& D, e ) j" _9 Q' Q- K8 Q
}
& \' g) Q) v& z% d else . l5 [$ q, ]3 m. b0 {2 C
{
5 ]8 |9 W& F/ ]3 R' v if(node.parentNode) % U- a. B: o( Y4 s+ h6 K
{' ^$ ^3 W2 h6 f4 H" O
var orgNode=node;/ H# m. N) y8 r$ g) `; ]+ _! m/ f
var orgColor=this.getobjstyle(orgNode,"color")- t( J! k! R1 Z
var orgRGB=getRGB(orgColor);
6 ]6 V6 h, Q+ y3 v" Z+ ^
+ ~1 K" Q& v) q9 Z var parentNode=node.parentNode6 H* q- c, X: S! F! X: A" P
var parentBgColor=this.getobjstyle(parentNode,"background-color");, n& W2 ^% Q( R0 R
, \; x' U* e1 s j6 Q+ Z var isLast=false;1 n; x# [0 {7 j8 ~! V
4 {4 }# x0 C$ A0 B* P+ x6 Z* T
while(parentBgColor == "transparent")
: f& b; ]7 R& _ {
7 M' ?. G+ G! l5 U% h3 |7 G( H 4 | C" R7 P' _; ?) P+ \$ k
& s' a4 R* [7 z6 P0 ]# N0 G7 d/ {
if(parentNode.parentNode == null)
* c; _( t7 C9 `# s/ D: h$ Q) j {
( M7 V' k6 N1 J1 U) J' v, t isLast=true;: Y Y: q; p. ?
break;
/ u5 r0 Q" D V" k0 t7 [& K n' O }# q) x& A* J+ U% K3 l$ | q) a
parentNode=parentNode.parentNode;0 f( D; i+ J! x
parentBgColor=this.getobjstyle(parentNode,"background-color");
& Z, X4 H$ a" m e; X P/ l1 l7 y8 N: O+ l3 W* Q
if(parentBgColor != "transparent")
/ C3 v8 m& c2 g/ F: ^/ O3 C& } {3 L3 [) C+ n: u$ X
break;, }3 r$ u. [( j( y' G( M
}+ C1 d7 [& b. k7 t; c5 t R
}5 m7 r7 p9 L H4 N( \* Q& M7 ?
if(isLast) 0 q# u, k9 V$ i3 h
{+ H1 E {* X1 m/ d3 U+ z
if(debug)+ \9 i! b( e2 t" m
{9 |% h/ m4 V1 ^) q" c5 R4 e
alert("last!!");
8 n0 K- f S! l1 Z }5 }/ |$ N6 `" N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 a' D2 _6 I. z: j) H
{
; y3 `- T; i5 l4 B0 x* t orgNode.parentNode.removeChild(orgNode); ! f' @! R1 E1 y. A0 ]- B
}
, h3 s+ n1 t- c1 \3 T9 |/ I }1 o1 M0 h# k/ `! t$ f3 s
else
) s/ a+ O- D- ?9 ]$ I {
0 V! q( S. l$ Y( l" R5 { if(debug)* V; A- W5 L/ A" j
{9 e- {/ J2 F8 W
alert("compare color and parent bgcolor!");3 Y: b$ a9 r, Q4 z, V( m9 x
}" N7 L& `* k2 x G3 l
parentBgRGB=getRGB(parentBgColor);
3 B- b9 _6 b6 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, z6 P7 k, I+ v3 l! `) ] {
* e" P! w* D2 g7 j! m3 J orgNode.parentNode.removeChild(orgNode); $ j4 t f1 _. {: _2 h' x3 X8 @
}4 s, j, [# I- i) N7 ]$ J
}" L0 B+ e' X) j9 b$ _0 _+ x: k5 t% E
}
! z: u, J) Q. w* t9 s }
1 K h5 z) N7 J' \- m7 I" Q+ K }
7 l$ t% `1 m6 b4 l3 e5 u4 Z) z4 K/ @2 b }
/ p% Y" q8 O) W# s$ k
' \0 K! m& V' s- A# P
( C+ i2 s! z! @8 ` var itemFrames = page.getElementsByTagName("frame");* @ |( l0 s' y% ~0 {. Z" R' H6 r* S
var itemiFrames = page.getElementsByTagName("iframe");0 W9 _4 P6 X- J2 ?4 ~, j q
, j- e j* I% Y4 G: [) g9 S
var frame, iframe;/ _$ ^/ \/ Z- m" H' K3 A9 C1 F7 P
if (itemFrames.length > 0)
* S G1 F7 y9 g {
3 m% F% N, o7 O for (var i = 0 ; i< itemFrames.length ; i++) " [! b" l1 }! P# c" {
{
- V( Q9 n. K2 N8 }0 F frame = itemFrames.contentDocument; T( R# F! ]& G1 ^
this.RemoveHide(frame,objname); 9 v, ^4 Z$ C; v# \
}
9 h# j& y- n! ?1 U$ _ }
& x4 g5 v( |7 ]; r if (itemiFrames.length > 0); q6 u4 s+ o0 y! M# W( `( T/ d
{ Z6 c$ E/ x1 ~$ u1 m
for (var i = 0 ; i < itemiFrames.length ; i++) # ~; p/ m9 {# p6 B5 Q
{& S2 q3 Q6 n' `. I3 N) r
iframe = itemiFrames.contentDocument;
L# ~9 W+ [9 a ]: k7 I6 u this.RemoveHide(iframe,objname);
1 e0 V5 \! O5 H9 R" T5 K$ o2 N }
+ {( J" I9 E' k& o. _ }6 v" ^0 N3 `; k3 p+ s4 }0 m
}5 B5 W! A4 A3 k- _& O
catch(e)
5 m8 W$ ^# l& B! s! H {
) H1 |* S& i+ Q if(debug)5 Q0 r0 n& ~% L- C y' d
{
/ l! i2 p) t6 S1 R" K& G9 V( H alert(e.message);
' h, S3 U# n/ u4 [% P# E& D# A }, O% C, o" U1 F8 @. z( o5 o
}
t7 r( ~5 `# H! L. D }
4 @5 c" A" w* N' F8 x : f0 F1 e+ M, h% K) J! k) |. ^" Q; E
}# Y. p- I5 E$ D$ _
7 B( i3 L' ]! B" w* i& K4 ]function getRGB(colorString)6 `; B, N/ ^3 m! a4 S4 z/ v
{
* y8 G/ \( r1 `( O2 B0 Z var RGB = new Array;/ x4 p1 X! L$ }. H4 j' n
var tempSting=colorString.substring(4,colorString.length-1);
! T$ T* \$ Z+ \5 g var tempArray=tempSting.split(","); n2 M, V% g9 a8 T" U0 Y/ c
) H$ o5 i3 H+ p% n$ t/ b
RGB[0]=parseInt(tempArray[0]);
# X6 b! i8 W- z2 ]7 F. n4 H$ L RGB[1]=parseInt(tempArray[1]);, }# y' s* x( l, T# K
RGB[2]=parseInt(tempArray[2]);
! N" L5 ] b: W$ C
1 L) s# f M0 n+ } return RGB;
5 |. ?- G4 u2 f: h/ A6 D}
9 v% b4 f/ ^) [* gfunction keys(evt)
* o9 O# q0 V s' B. z% i. p8 n { ' e- W; y+ K" C- T4 I+ |
if(evt.ctrlKey && evt.keyCode=="81") ' D8 w3 c4 W7 H1 M8 o6 @
{ 5 F7 a5 A1 O8 q$ v/ o0 v
CleanHideObj.on(0,1);
' E) r% p8 ] v( @3 W& K) |" e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 h: Q- \" |' Q" X( g
. M2 s7 d4 T& s
} 4 t( z: f9 V; Z' z: S
}
- v/ n/ \4 Z, ^. B) B' ^. n( jdocument.addEventListener('keydown', keys, false); , V* r2 G4 \: {$ P
GM_registerMenuCommand ('Clean Hide',
j" A9 n7 d5 ?) n T, |4 zfunction(e){
$ |. ^/ B+ Q: b+ l+ b4 @0 PCleanHideObj.on(0,1)! N% V+ H6 l4 W: A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& n0 _: l" O' \' T1 d( }; I
});
+ i5 k9 ?$ |$ a9 Q9 ?7 d |
评分
-
查看全部评分
|