|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 A# Z c; `- }8 S5 t( l7 p0 a% x- `% M* s/ |. g
火狐插件,用猴子1 H! ~; i* [5 v+ b) D$ Z5 L) j. j# k
3 b* |7 k) y: N' l. n4 q6 V* }3 d. G
var debug=false;
3 y$ ^, F. \# b" r0 @var CleanHideObj=new CleanHideClass();5 e3 P. I( y6 F5 o
4 l% x ^! t' _function CleanHideClass()
' k" U# o8 m/ j; u0 W0 u{ 1 u4 U: @1 W4 b- Q0 O0 t
+ ~: m6 s& y9 w; G2 M, y
this.on=function(id,bMZ)5 q# I+ {" M* ^7 n, {& R; k* ^
{
0 b4 s. e& \8 n( W$ X ' z) F8 b) w) k# Z4 U: r/ r
if(id == 0)
/ A' w1 O" B9 r {
) Z" |7 p0 f, w' n& M) q6 `4 U var page=/* document.getElementById("content").contentDocument */document; + d! p p! I5 z1 m% _
this.RemoveHide(page,"span");
: z1 p3 x5 y2 a2 n: d- S this.RemoveHide(page,"font");4 n* t+ X. Z" M! O3 w" ^2 w
this.RemoveHide(page,"div");8 _" z% q0 \; c1 {" ?# Z E
this.RemoveHide(page,"p");
8 Z, T( l* i/ ?! m& X9 I , f' H; S, C- a: b$ g4 k
}
9 c: Y* }6 } r6 L; e7 y% @
* O7 _6 z j2 @% Y9 M! n- k% {- X }% [! b% |: t& M5 t6 S
this.getobjstyle=function(node,prop)
9 C; h! H# [, a* o. G {
8 M! L% B. v7 M( [ try
* G6 R9 H! T3 O- O& J8 b# s- c {# j" V( }8 X* d$ b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" ?5 d& @- Y0 I- x# j }
% Z; V7 S+ H- h! I' j) x; \ catch(e)
/ ~4 @! Z7 g4 m/ h. m# q {
: d. a* e8 o% O if(debug)7 q" \" j9 |8 i- V$ K0 Q- [
{
1 K! T8 c( w# { alert(e.message);
# x1 Z' h" F# L/ ? } ]. w$ C3 X Y5 x, I! {* I
" Y" v: U' _1 h* q+ `# V4 S( l& K
return "200";% u! a( W9 W" h9 f( [ t* A- c3 S+ y
}
+ ]( A8 j8 w; q" ]3 O2 C* F s }+ f8 C% Z5 a1 g: v" A8 d0 W, k
! }' l+ ?) G1 m( f8 W3 c
this.RemoveHide=function(page,objname) q3 b- S# d- N+ S
{
9 U/ z) e0 I" A try
6 V# B+ y$ ~8 s' A# d {# o/ J8 u& d5 Q8 J, I* C3 p
var minValue=15;
/ N; u( `2 t+ I4 q( ]9 g var objs=page.getElementsByTagName(objname);
2 C% v0 ?+ D/ T7 j0 ]/ f8 A9 e# o* y9 L2 ]- Z! s- L. ^; a2 t- {
if(objs.length == 0) & q! ?( l1 w$ P, \# Z
{
. k: n0 B8 m" ]" Q( s if(debug)
' ~1 v0 W" Q; }5 F+ v! |% X {
4 J8 Z6 A# A: f0 e7 Y alert("no object found!:"+objname);* H8 A4 f) x- F% b' C
}
0 y0 l+ |4 M. I+ O }
& c2 ]0 ^" E) q$ _& Y else
+ X: @: B8 v# N3 E {
6 T# d3 P, U d% N3 N& [
4 l. Z/ d' K4 w$ S2 f for(var i=objs.length-1;i>=0;i--) ; g/ c+ H" {2 ?: [( \
{0 m7 i4 ?; |" X* ?. a7 z; }( O& o
var node=objs.item(i); ) c( A& Y8 \6 [7 b
# J9 b7 @2 V4 T6 n: q2 {! `' X5 ?
2 l6 u4 a5 b9 \2 T3 z' T% p
if(this.getobjstyle(node,"display") == "none" ||# o! z6 N! {/ c- F
this.getobjstyle(node,"visibility") =="hidden" ||- x' y1 i3 Z) P# c) n0 B) F# P
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 U6 _2 D7 p7 ^* e {
9 |* Z- l6 Y" S* O8 H if(debug)
6 A0 m2 A# c, _ {
* v% F1 F: ~& {: O0 ]) ]" M alert("remove invisiable!");
+ }. S; D2 p- E/ Z7 k" b' k }0 Y3 O% @( c1 l
node.parentNode.removeChild(node);
1 b( [8 \; h9 F5 Z# C# K
% C1 M) W5 r( b. a }
& C' I: f5 D( |* E- H. @; G7 X else ) Z, s% _7 `& ?( U; \
{
R; {7 j: c" E/ ]4 j) M if(node.parentNode) - U$ m' ^4 Z% A1 V
{
( F" e a! ^( g& S# E var orgNode=node;" C* A' `" z/ n5 y: b3 P
var orgColor=this.getobjstyle(orgNode,"color")
k: f1 [5 B8 t- ~% E: d9 O var orgRGB=getRGB(orgColor);
/ Q' Z$ C3 S% \3 {! w& ]3 J; {. H
! P1 e& m& U) p; Z- }, I) o, w var parentNode=node.parentNode
, D/ N/ m; N& G" J+ I3 B: ~0 m var parentBgColor=this.getobjstyle(parentNode,"background-color");
# K8 c# {5 }, i4 F. C0 Q
* [7 R; Q9 E( {) j. R3 } N, b var isLast=false;) W2 u* f# y, s0 ]( s5 P- {
" {" F2 o* A% m0 }. p( l7 t while(parentBgColor == "transparent") . u' [# w, _6 q
{' W8 R0 d! r7 v& M
7 r0 m& m7 c( m8 Q8 C
6 k$ Y' V3 b! I' S0 ^. R if(parentNode.parentNode == null)
) h) k8 q9 \! B* V0 O {
2 m& z+ Y1 C: l" S- B/ ?1 U isLast=true;8 i" W0 y# h5 m5 d
break;
4 |+ B3 |( [9 H: ?7 r }4 \9 q! C/ ]: j* |
parentNode=parentNode.parentNode;
: s2 j6 b/ I7 `4 V# {7 k parentBgColor=this.getobjstyle(parentNode,"background-color");
/ ~6 j. D. @5 f) d
; h1 r- L5 q) ]& J/ T if(parentBgColor != "transparent")
4 Z2 |/ o/ Q0 u! ]# Q {
' W/ Y; S2 Y) d8 N; j break;
. P6 a4 g* O" h }
% [( g+ B8 [$ x8 j2 p' b; { }6 a/ m# u O2 `6 B6 m8 {! d- P6 l; [
if(isLast) * x( T+ z' j! R& o8 R" o4 J1 v
{
2 d# @% x4 c+ N9 Y" E if(debug)
; J# Q! b" y( |% D \8 }* q {7 a/ X$ c5 r% W% N7 A8 N( p
alert("last!!");
7 }$ {8 E* H( y2 @, W( r0 o& J }
8 D1 }7 u% j* y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( A" N( k* `* m7 i; U$ ]
{9 Y1 j$ |6 A4 @# m, C
orgNode.parentNode.removeChild(orgNode);
( ?0 Z R+ _# {) D5 s }- i& Y8 J3 k" @( l/ y1 f# s
}/ t. k' U0 F1 e
else# N$ K. f8 t" a8 K, n
{
! J5 ] C* P0 a if(debug); k+ ~( [) `, ^ g) q
{
2 \( F3 \# X1 ? alert("compare color and parent bgcolor!");
' v4 W# O, D5 V+ r* x }7 a" U3 {7 t: X7 M$ x' Y6 T ?; J
parentBgRGB=getRGB(parentBgColor);( |. j8 T. E* ` V; A2 F, Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- m! J' Z1 i5 L$ [/ l- {9 @$ h& w
{
$ S' m: Q: r4 k7 a- Z! R1 a2 J orgNode.parentNode.removeChild(orgNode); * g5 p, M1 P u: c9 r3 T' b$ t8 `9 J
}
n; M, M- e% _ i( \ }
. T3 O, S! ^3 { G }, g+ {* U! ]: @9 N/ y
}' n/ Z% A- g" U {; N
}
- `% t+ l! X7 q3 `; e: s }5 C" G$ u. A) i9 W5 |5 [2 r8 C* M
: y& W5 k s5 m4 b2 u- H7 A ' f) f" G4 u+ W* S' |2 \
var itemFrames = page.getElementsByTagName("frame");: S+ b0 x: t" q- Q, U0 j4 u* [ j
var itemiFrames = page.getElementsByTagName("iframe");& \9 U2 H+ g! |# `& B& q% X4 Z7 I- x
. ?. {4 P: l' y; `/ w var frame, iframe;8 g, K0 x2 G6 z
if (itemFrames.length > 0)
* H0 e v% h3 Z0 x {! F1 `+ d4 @3 _/ z; C6 w
for (var i = 0 ; i< itemFrames.length ; i++) - r7 P: d; T0 a4 f
{
; j' t3 v3 G- v5 h6 k& ? frame = itemFrames.contentDocument; e1 a2 v! u- E( `6 b: i+ W
this.RemoveHide(frame,objname); ' T% Q9 d* y/ w7 [9 F7 g
}( U1 z4 }8 v: c2 j7 V: V
}! I& {/ K( p; M8 R
if (itemiFrames.length > 0)
4 Q8 f# p% b1 z4 r% A1 {% f; i- O {1 w( U! y U0 m
for (var i = 0 ; i < itemiFrames.length ; i++) : Z7 O% O( O+ Q7 {
{
+ Y6 N$ q9 \8 u iframe = itemiFrames.contentDocument;& x8 L! D- }8 J1 S4 v7 S
this.RemoveHide(iframe,objname); 4 S' l9 p: X; w( d! d; ~1 V
}
5 A. u1 ^* i% {: A+ h }' B; N5 H% O1 x2 d! Z
}
3 T3 Z( R. q' P1 d1 N7 N( Y catch(e)
) \6 F) R/ K8 s9 H {
: p) \1 V' \* A5 d if(debug)
1 k; N6 f4 m5 |5 q {0 O4 {+ l# J1 e4 `: t8 C" y& W
alert(e.message); s; L* q) N4 [7 ^* _8 M; l
}
0 f& ^8 T5 ^% E ]/ \ }
! h9 m! r7 n4 J8 Q9 L }5 S$ k+ v0 G3 C+ @5 y- o; E
, Y* o3 v1 [6 ` ]1 X- J2 F
}3 M: k B" x' ~1 }( j& T f+ w: h6 _) |
0 y! u: S2 o. Zfunction getRGB(colorString)4 v% B0 d* j/ L$ H! R
{
! b1 q+ B' ~4 a: H y8 _ var RGB = new Array;
5 B- u# Z2 c& w7 V5 G. u var tempSting=colorString.substring(4,colorString.length-1);6 {8 v4 v* y& A* F n4 O+ @
var tempArray=tempSting.split(",");
4 T) h) f4 ]" ]" T
& T% z6 N8 x; C9 `6 Z RGB[0]=parseInt(tempArray[0]);* @9 Z( S* I$ B( K5 w" V* a
RGB[1]=parseInt(tempArray[1]);
: Y5 c2 F( u! |3 ] ]" o( w0 M RGB[2]=parseInt(tempArray[2]);4 ?3 [, `6 C" q( P8 g7 u1 S
6 \/ k) U9 Q* t$ N
return RGB;! n: H8 u) j, S) b% l7 ^$ q" q) Y
}
( \' N% R) A# Y4 O; g+ S- J- Lfunction keys(evt) # S5 d! S, y$ |( w6 z" \
{ ' |3 R7 Z" F& Q: n9 T+ m! l
if(evt.ctrlKey && evt.keyCode=="81") # L5 ^6 Q6 V9 L$ l1 j
{ . K+ ]2 o, y8 j
CleanHideObj.on(0,1);
8 o. ^+ l) K4 R0 {9 B) @7 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 \0 M5 w0 h! Z- m! w
7 |, V) H w3 D0 X' h7 n, ` }
! a, B: N. E* E# \" C' l2 x }
) c7 r/ \* g) n( Fdocument.addEventListener('keydown', keys, false); 8 d, Q, Q) e+ B) _& s4 n1 l
GM_registerMenuCommand ('Clean Hide',
1 o8 i- L6 R! b3 u% ]function(e){" }0 Y3 b/ ]# Y" X) G# O
CleanHideObj.on(0,1)
& n2 N# e0 ?+ X" |. Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* t# P. C8 U5 k) u6 y. f
});
: d' X. y$ o0 ?* `1 s |
评分
-
查看全部评分
|