|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & F+ J) ~& ~5 f& p
" h4 r+ N$ \; ]火狐插件,用猴子: ^2 w# p# o b+ r3 E* t% x( e
, T0 K# X) c; n8 S0 J; L8 ~3 |+ k9 O, B
var debug=false; 2 D( X! D1 j0 a; `: q& G: _
var CleanHideObj=new CleanHideClass();2 u [' A2 E5 x4 x5 Q
& ^' n o5 ~, T2 c) Q, @4 f
function CleanHideClass() ; U4 j% Q& ~( ^4 T$ m; P5 }
{ & d! `( G- {# `% J3 Z0 G
/ o( ^+ k1 C B! [% a0 q; p6 j* ~ this.on=function(id,bMZ)+ i. X% E0 {/ W
{0 s' ?. q4 V0 U' _: W" }9 D
: i* m, n1 A! H* v7 X
if(id == 0)
+ }# a- J. @: H- \. \ {5 l/ J3 \9 _4 ~& }4 ?
var page=/* document.getElementById("content").contentDocument */document; & h1 C4 s) h$ y8 b6 ^
this.RemoveHide(page,"span");
7 l: b8 G9 K- x- t4 N6 |9 o9 B& v this.RemoveHide(page,"font");$ o5 P. b/ T, C* [6 y
this.RemoveHide(page,"div");/ o$ Z( D2 t+ k; I7 b8 s
this.RemoveHide(page,"p");
. Q$ m) D2 H: u1 \, P$ q+ l8 F, v R. S9 s! Y h+ E
}. h0 d5 j4 D) C
: O1 q! C+ D2 M9 S5 c- D }
" d8 l, y# y. }5 e7 a) v this.getobjstyle=function(node,prop)
2 |" h- w) E# h4 Q2 ^3 ~/ m {" A& I7 Y0 e* F+ N+ f+ V8 \
try
: u* V; ^. _" q {
9 ]. M$ d, C9 X( O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 P0 ?7 R" F9 C) \ }3 I6 f1 r4 [* L. U5 @1 |* ^
catch(e)
) G* q A* h. ^0 y* Q' e0 B3 n {$ P, _# i% r' ]( B
if(debug)
$ ^# e) T$ u5 [0 J {
$ ], X0 r# D4 ` alert(e.message);
: }& @4 Z# `" q+ A; R% j }
+ O2 O0 |' v6 g$ |
+ T) n0 r o8 A5 G P9 v return "200";
! }% I$ Q/ G; B4 o t, e }
5 x6 d* K/ ^! Z# U! G1 X }$ L& ~2 y$ v' y. g. _# F
2 O/ Y$ y+ J6 Y1 ?! ]: E! i) C this.RemoveHide=function(page,objname)& V5 p" m( m% l% i
{" v0 m7 Y X- M/ Z. U
try; k6 I) `5 y. L3 C/ _; }
{8 s2 O4 {) |* w; h) T8 ~4 N
var minValue=15;7 a. @0 z. l/ o: C+ k
var objs=page.getElementsByTagName(objname); 0 h- i$ H# A6 b6 Y7 B8 _) r2 ]% K+ G
) b% ` E" \/ w J, L$ D if(objs.length == 0)
6 u" T D9 Z; |" E" v {. W# Q( K( W4 a- D. C! [" b& J
if(debug)
# I$ ^6 w+ ?# [8 _ {9 ?0 ]1 B$ a& w5 m. i8 m
alert("no object found!:"+objname);
- z- A$ q- h( Q! E" X }
1 r1 `. i- a/ `* S& j6 F4 P, O }8 w) b8 s/ Q: ~4 ~- h7 `
else) y* V- y. @7 z# ]+ A8 @2 Y
{/ r P% A; Y# u5 N3 |3 c' Q
8 e0 v6 R$ A, f z5 Y A2 P& ^
for(var i=objs.length-1;i>=0;i--) ( c$ g4 a; {9 l( M; j) n! S. U
{
8 s- Y% u# u* R% ^% i$ V var node=objs.item(i); . p4 Z" B4 e% K4 j. u
! l. ?4 j4 i' e- @! Q7 N7 D- ^& B ) T' r+ R6 {8 ]6 c, D! C( H
if(this.getobjstyle(node,"display") == "none" ||
# x0 d8 u, A3 W+ e this.getobjstyle(node,"visibility") =="hidden" ||
+ B) o- X$ P0 V" U# i' r parseInt(this.getobjstyle(node,"font-size")) == 0)
b- N% D8 E/ R" Q {2 y! J" M3 O! u0 I
if(debug)
& @9 |- U7 {8 s* c. `2 ]! i+ l, a$ l {, B0 j9 J4 }, @" F
alert("remove invisiable!");. y, c* y H, e# L k# @
}. Z o& e7 A/ p. M
node.parentNode.removeChild(node);
( G' x5 v% y" Y, ?: A. }# V $ t/ o3 e3 @* g1 n6 I
}
7 p, W* X' Q% |* [# f6 a, Q3 m else
0 r, n" @: _1 E- i4 }( Q {
8 ?; Q, K: A+ c7 `$ z2 b if(node.parentNode) ! q b0 [2 ?& L& m
{2 Y6 U+ q) N9 t
var orgNode=node;
& a* B; R( `! W9 e* H var orgColor=this.getobjstyle(orgNode,"color")3 Q( u4 F2 {( b& r1 ]
var orgRGB=getRGB(orgColor); + R) [% ~- Q, D
5 D# D, E. `4 i2 T, C# w# D' V+ ~+ _ var parentNode=node.parentNode" L/ B) r' C: X- U
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 [/ ~$ U; i1 v0 E" b
1 ]& h: k: M& F: a& j6 k. {0 K* r var isLast=false;
1 [8 J4 C+ g; ?0 x6 d 7 @, n. V) y" L) R: e+ }7 c
while(parentBgColor == "transparent") S3 Q. S, W$ T: A
{
$ w! o8 z3 ?; {$ ?8 O; D
/ [7 Y" }% V- V0 G* q! w
. {, J6 T1 s* U* e6 K( n7 V if(parentNode.parentNode == null)5 l% V9 ^+ |6 ]6 j) N4 U
{" b7 c. `( L2 [8 g; l% v, N( F7 H
isLast=true;
0 G/ [3 H* P9 [% C- y break;
+ t V8 [1 Q6 P9 }0 d0 B }
/ W( S3 I* W: b- E parentNode=parentNode.parentNode;
8 T( q* ?7 q2 A1 k0 ^ O parentBgColor=this.getobjstyle(parentNode,"background-color");
7 \0 c4 A" p" ^$ J Q) E! c" s7 B( a! T0 ?+ E2 i- |7 `; l8 [
if(parentBgColor != "transparent") , \ i3 n) q( Y0 t* d
{
& f7 z2 K( Z" z9 ^: P5 w9 C break;: R( F0 Z8 B) \0 E
} J& ^% ^+ X( t+ u0 Q& R2 |1 Y8 w( d5 @
}/ t0 z5 g9 U! ~
if(isLast)
' r9 _' O7 I8 K/ W* [ {
j# k, \' o- x5 t+ O$ U$ E3 a8 k if(debug)
5 A* g2 h, C& _, i; o9 @ j {
; d$ i. ^; {) f' N: C9 D alert("last!!");! S/ k) T7 x- l( V) {
}4 D! }- ~4 f! M$ q) ^% D$ P2 }) p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 [& ^$ |& _7 t
{
0 N( p- P$ u- X b* ^! ? orgNode.parentNode.removeChild(orgNode);
8 z; {. V6 K+ X! }' E) _9 m4 y }+ P. u+ l/ N# I. V* Y" Y
}
$ T" x6 V* W3 s/ g2 K else# d& z3 U, @0 |7 L; h9 W
{) U" |% }9 w0 d$ `( ?0 g
if(debug)
M4 B' w9 E; }6 |" c" n {
0 X) o# e# ~$ g' E alert("compare color and parent bgcolor!");; K( ]/ s3 O# k5 D# r
}
5 {, f* }9 t* Q/ x( m parentBgRGB=getRGB(parentBgColor);
7 k: p- \2 U4 z. R) f4 g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# M8 K* p7 j6 B ^3 b' V. Y) }1 }9 o
{) E) ` S7 u0 @/ z$ `5 C p
orgNode.parentNode.removeChild(orgNode); ' Q# ^* A; T) d9 K$ U/ S
} t! Y7 H0 g+ u, s' T% R2 y6 Z- @ w
}! K! o# O8 } t; ]( v+ Q6 c+ B
}
$ i" ], e& w/ I }+ U6 F0 Y& h! h1 x- V/ R! }& \
}
- d2 f2 T9 Q' J* T0 C0 K* n }( }; D3 f# R6 d0 p9 h
; O! ?3 V3 s% ^" f7 c
& d( P5 j* I& `- h1 g var itemFrames = page.getElementsByTagName("frame");
7 _ g) Y5 Y9 s0 f& |- d ? var itemiFrames = page.getElementsByTagName("iframe");
, S8 e' g, l! |6 u: x 5 k$ l3 ]: m) f1 Y8 q- q
var frame, iframe;( P2 W: d# F+ Y! X! ]1 V
if (itemFrames.length > 0)
% o% O$ h7 P7 r6 s/ j {
# N& V; C6 u2 C/ ]1 c9 U for (var i = 0 ; i< itemFrames.length ; i++) 7 q1 M- w Y, N& @
{
+ C, F8 a( R$ `- c9 s frame = itemFrames.contentDocument;
: J- g4 m# X1 N6 s6 ? this.RemoveHide(frame,objname); ' \6 M9 ?6 x( P0 H9 M. N% R# ~: I
}) f$ f7 r! V I3 ] J8 b/ g
}
; \: L$ ~8 ~! o8 ~+ [% A) S* ? if (itemiFrames.length > 0)
8 h$ T% K. B' h* D- \. C | N {
: Y o$ u9 q8 e- b7 Z7 G# H) n for (var i = 0 ; i < itemiFrames.length ; i++)
- V9 [4 U! P' D0 y' S {8 H# H- ]( T8 C1 M5 J2 ] p
iframe = itemiFrames.contentDocument;
- n7 n1 ]6 [0 k this.RemoveHide(iframe,objname); . D2 ]! L/ d' x" |: R2 y- n
}; J( T1 k1 ^! A3 {8 q
}/ h, n5 c6 ~7 k, t8 {6 n K6 A
}
, M6 p/ n5 W1 S1 ?6 D% D catch(e)
5 ~0 n9 l! b8 G8 @3 ]/ I1 s {, ~, ?2 J, w0 P8 [; u
if(debug)6 w* {1 ~: i, p2 H% j( Z
{9 K x! b6 J9 i1 Z3 B$ l& |/ W
alert(e.message);
- \/ K2 ^! P) e+ p }3 R) E8 [4 r/ ~) s- n# M5 y
}% n) H$ ]" F( g6 e4 Q* R
}8 c' j( ` U9 j! ~1 ?, A) W
- H9 u- U- Y+ {$ h4 `3 o- {}: C5 W' l; ?3 `/ _, N, v5 ]" Z
; s e5 O# L$ c+ S6 g
function getRGB(colorString)
! i/ T. ?! L* e3 [1 e/ P( B. z- P{
' r7 q% l0 k3 P* I$ w- j# q var RGB = new Array;
* ]& `0 n' U9 {6 f6 a2 ? var tempSting=colorString.substring(4,colorString.length-1);
$ m5 f4 p. E$ K- c: l& c) @3 [ var tempArray=tempSting.split(",");4 _7 k4 W$ I v% M& s2 ~
& u) }. b8 I) v
RGB[0]=parseInt(tempArray[0]);
# m2 I( i) e1 _7 v% B RGB[1]=parseInt(tempArray[1]);
8 z% \5 D* W2 y8 o' Z4 p. j RGB[2]=parseInt(tempArray[2]);
6 ?9 e7 s: d {* S ! @( L; a! `0 M m1 [
return RGB;
4 W5 \* E5 f" s, k2 _}
! X5 Z* L9 q! L! m6 nfunction keys(evt)
* h+ z5 d2 _! O( a- \1 ^, } { ) y+ [8 ~( j* Y- C: H( C
if(evt.ctrlKey && evt.keyCode=="81")
% G' J! D6 u( h3 B5 j' H( B { * Y/ ]+ Z- k( c% b$ O" t
CleanHideObj.on(0,1);
9 Z* [" R( \/ ~. I! {8 x& \2 r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; X# X4 U3 R* `/ R2 q S/ T
9 q [6 C, P2 g6 y" ^; C2 K2 p4 |6 N }
/ e# ?( y8 P+ w" B: e+ X% F }
8 a1 c& n7 E/ k1 Mdocument.addEventListener('keydown', keys, false); 3 Z3 Z8 `( C1 Q7 j1 C
GM_registerMenuCommand ('Clean Hide',& O1 V) J% ?& X' M8 P+ e1 n2 e
function(e){0 P! J7 z/ I( S4 S
CleanHideObj.on(0,1)6 z8 [4 E" {+ V1 P: l: @! e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ F- f1 K$ x/ [7 E+ s});
- ~8 f; K- f* ] |
评分
-
查看全部评分
|