|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 N, u2 @+ C' Z" a; ^
! x' x0 s! w6 s: }2 |5 z火狐插件,用猴子
3 E, u6 s" y/ J# Z& w8 {
! _5 e7 A# ]0 D) B$ J' f% Mvar debug=false; 3 [0 v) p8 l: [, y7 ?' L0 ^5 D
var CleanHideObj=new CleanHideClass();
. G9 O/ u) w4 E/ a8 l) J1 a# S3 ?( h: X2 P
function CleanHideClass()
0 b( ?9 n+ J; ]: D# A1 H{ $ E+ W7 N0 s J& |$ ^
) Q* f$ w2 }5 X8 y# s8 p8 m( ` this.on=function(id,bMZ)& J0 O6 ^; A& O9 ^/ d' G6 w
{
5 O. J% s5 e9 M$ r4 x7 j, t
" Y. Y( m& B1 u! V/ w- c' t) l if(id == 0)
1 r; Z) k: E5 @# x5 f. r {5 _2 `0 S- b: W+ k7 D6 Q
var page=/* document.getElementById("content").contentDocument */document;
: r# q" a9 k% d0 A; \! y4 G this.RemoveHide(page,"span");1 P) B @/ P) V4 k
this.RemoveHide(page,"font");1 c7 t s3 a1 U$ g. N& _5 o
this.RemoveHide(page,"div");
. P c1 W7 P4 Q9 \1 J; R) L. ] this.RemoveHide(page,"p");
% \; I/ ]8 U& c9 n' i# w6 w- W ' G! Z0 J. U% [4 D/ d' L. y
}! x6 s+ X; f6 R( f
) V% ~/ M# T, f7 W* A
}6 Q; U2 X8 A2 I- x7 P$ y) {
this.getobjstyle=function(node,prop)
3 T* S* |* O- i {; H8 b* G; h- k: P: r$ e0 e) V
try2 }/ `" ~5 v" K2 V) {7 u
{
: h" Z: G4 S! C# }6 K% ^" \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 o& O! B- |' C1 F( E1 {
}
! f6 D& N: S( r+ a2 x( R5 V% D$ L: } catch(e)
, q3 B1 i! C( A- n- c4 k# F {
6 H* d* i2 d9 Q8 i+ [8 _% n+ p if(debug)& T* S1 Y( W, u0 M* s* Y3 K* ~
{; p$ s$ r5 T; t
alert(e.message);: M8 E4 V4 ? o# b( A$ ~
}
% ^* p- n% K1 F* u 4 M& i2 M# f4 a$ Z7 f* {8 _- V+ f
return "200";
! D/ e6 d9 m/ \! a' T5 K$ r }8 U2 H1 _% `2 Z; s8 u- g
}) F3 \1 x6 {7 R( {% @/ e
/ i0 i2 q0 h! x. i/ R5 @
this.RemoveHide=function(page,objname)1 j+ ?$ N8 K& m: O( ?( t
{2 @2 V8 D# l0 c/ X
try
. k7 b8 g x4 I {
4 o' c4 I, ]* F4 b5 W; g9 y! s/ o var minValue=15;
0 d/ e* G/ L8 ^9 d. A( } \8 F var objs=page.getElementsByTagName(objname); / n; Y- k. G3 _) t6 Y! ~. U& j
/ ?4 @7 H- `1 L9 U" W/ {
if(objs.length == 0)
" [/ O7 s$ o7 v" [% O5 ?- K( w5 c {
6 X9 }: u7 m* b, N. r( [- ^ if(debug)
& A/ \( q4 i- J" H0 V$ p% m+ ?! s {
8 D& ]$ `: u$ W' l) w" o' G* n alert("no object found!:"+objname);
5 b3 ]( _/ q7 u$ V: q& { }- f9 M8 }5 `+ V: m* O$ b* y; @6 ^
}
2 K; F$ G! @5 X1 t5 V2 a, K* _2 F) c else+ A3 `0 K, t1 {' o4 p5 a
{
' t1 g: d7 M' U; t0 A4 x2 a$ O
( |+ F/ z0 R+ A% {1 W- q q for(var i=objs.length-1;i>=0;i--)
+ v2 V2 p% |4 \" d5 |( ? {# t! j+ @6 s8 |1 l! l) k
var node=objs.item(i);
8 E% G/ y7 \* K2 J8 k3 k" w/ t ( X9 T6 P+ {0 h5 k: C7 x" H; n* ]
8 l; z! R, A7 O6 b( U
if(this.getobjstyle(node,"display") == "none" ||8 A) \$ }6 L; b/ m
this.getobjstyle(node,"visibility") =="hidden" ||. S3 e$ f; V# S3 m. L$ V4 W. ^
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 L8 x) ?8 k$ U8 C2 m8 O {$ C4 D( O5 _: _" v/ ]7 Z7 a
if(debug)
# P+ s: p3 Z6 Z: N i' y {
3 @4 U! I# z0 L4 r2 t alert("remove invisiable!");
; t. i1 m8 Y( c- K) ]# _ }$ c6 r5 \ H; E. b: x
node.parentNode.removeChild(node);. j+ b7 y: N! k
- D5 @0 x% W* x1 F }
8 ^2 C! q; h& V5 n4 b& d" } else / e1 k- F7 Q; C. `) _, |1 ~0 C
{
$ n7 ^) g0 D; f" {! ^# W K5 {" [ if(node.parentNode) ! c$ ?1 t( ]3 s+ m2 X. ^1 c
{$ p: p# J Z4 z, Q! K
var orgNode=node;) ^/ C6 y4 H6 ]0 \3 Q$ F
var orgColor=this.getobjstyle(orgNode,"color")
/ P. ?# t9 H1 n8 _' X3 d$ x var orgRGB=getRGB(orgColor);
) H* `# Z3 N5 a4 f3 E. J# V 6 T- L. ?8 Y- `
var parentNode=node.parentNode
, ^% T6 c% W+ z3 x' X$ n H var parentBgColor=this.getobjstyle(parentNode,"background-color");! t4 S& t7 |# \1 t+ c% ?
$ D" W' l# M, @' X: g5 Z
var isLast=false;6 X/ n# I/ Y) r/ j) o, a
, t% B/ r6 V, T P V9 i8 F* ~* e7 z
while(parentBgColor == "transparent")
6 v- j2 X9 p+ ^% ^- J: d {
% x! a, e0 C" m5 c
; {. K R& Z) R; ?7 F& D9 @0 w6 Y
. P) X. _9 O" ? if(parentNode.parentNode == null): d2 x2 s' d$ J& N: b! ^/ n1 s
{
& R% D j) H# u. J' d: g isLast=true;* ] F$ L( g$ h& E1 k. T6 W& D
break;
$ q; E7 q" O% Q }4 p, e: G" r% d1 X" ^; e: T
parentNode=parentNode.parentNode;
- y9 x0 ?8 m0 T; |) [! R( b# r parentBgColor=this.getobjstyle(parentNode,"background-color");
" ~, n1 K) F( n4 V
2 K4 {/ n0 ~8 [ if(parentBgColor != "transparent") @" H6 H- j! ^- o; g1 K
{9 p4 V. v- Y8 h, {, w5 r4 ]% r
break;' w/ s2 d- p& z; n0 u
}
7 t# E0 _: G+ Z7 Q9 b, c }
: B8 a, V+ @4 \ if(isLast)
+ s, X4 w8 F' E: y {) X) }, x, p' c; a* Q q
if(debug)! J( o! C: p2 v0 W
{ B0 B5 H! z0 F; }( V
alert("last!!");6 M3 o p" C3 I7 J, W$ f7 k
}7 G- N' n/ D# U O# H4 C# i) i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' }, D! k6 l7 h7 @& t+ ]" C* T* G
{
$ x3 j/ \9 j/ P3 I orgNode.parentNode.removeChild(orgNode); 3 S) u# x4 a/ l5 k$ B
}6 H) O( }0 A5 P) k1 x4 |$ ]9 l+ |
}) D" k& t8 q: ^7 x7 b
else
: ^( G" ^+ h' J) D5 a8 y& ~6 t+ U {5 B' J; E" n( R0 y# q
if(debug)
0 b6 s& @, P0 N( o {
$ |' U' e# J$ W }, p. _3 t3 S alert("compare color and parent bgcolor!");$ u/ Y" L; M& p' e0 ^* D+ e% w6 P
}( n6 k% s& I0 S, ]& F4 A" w# j
parentBgRGB=getRGB(parentBgColor);* D D' U% r; D0 X0 [. V+ `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 L& R8 d, k- ?# S, [! ~( |6 D {5 e/ I6 c) t- j, a/ H
orgNode.parentNode.removeChild(orgNode); 2 ?0 ]0 @$ h: W& c- Y6 n/ M
}4 t% `) C! g! s0 r: m" J
}9 n8 U x# w4 G3 X! i3 |
}6 P: h# Y5 b3 |7 U U# N( \
}
s+ p7 V; O2 l" E5 V, W }
: L" t$ D* q% l6 n( r }
' n3 n4 @& O( s2 B ! k, m* j7 @6 q% r/ o7 Y& r, Z
0 N7 s) k8 M: r0 F. z+ O' k! O var itemFrames = page.getElementsByTagName("frame");1 E7 u, T3 A9 [8 ]7 ?5 E* B3 I- h6 E' R* [- g
var itemiFrames = page.getElementsByTagName("iframe");
" p% S- l& l1 F+ X- H: k( y % Q5 [0 b. Q' g2 }% i& ~
var frame, iframe;" @7 {! \- S/ |- e8 q6 Z
if (itemFrames.length > 0)
$ [6 ~9 i1 O# Y- g {4 O0 }' s7 O9 u; ] Q# i
for (var i = 0 ; i< itemFrames.length ; i++) # L3 f; v2 F; {0 v1 ^; [
{
3 g. R2 b( v$ U% ?) ? frame = itemFrames.contentDocument;$ _& n, C6 t4 h I: }% h5 D
this.RemoveHide(frame,objname); 5 ^, r2 |7 P; s3 l; c: Y$ N) t; N3 L# i
}6 e! p; h/ Y- C2 U. H# H
}
8 C0 Y3 m: v3 a N; E" p4 o. f2 \ if (itemiFrames.length > 0)
: T! i2 {) A1 ^7 _ {, C/ J- ~# s( ~& \
for (var i = 0 ; i < itemiFrames.length ; i++) ( r" L* I: q9 L5 }% X
{
2 Q; A: h7 }' p5 s; Z* V4 V& k R( _ iframe = itemiFrames.contentDocument;" h+ f/ q+ o; V9 P- ]
this.RemoveHide(iframe,objname); 7 D% R' r$ l* E4 K3 V- W) R! J
}
4 U. L9 b! _9 ^ }
! ^' U$ @! g/ d2 o }- w0 Y4 M! M9 w$ f: @2 ~1 s
catch(e)
2 E/ T, ]& S# Q: I- Q {
6 j+ ]9 [7 j D if(debug)1 S( u* P3 ? J, j1 T
{8 \% C% D6 b( S5 V4 H" q5 d
alert(e.message);
8 x! [; q" Z% k M+ z% | }: @' V6 z7 N* |! ~8 P! H
}- ?3 @7 g* ?7 E: i0 ]8 a
}5 z* R* r" [# z; K. O2 p
5 { v( h; g9 R% H}
" H0 l; j/ W* c0 I6 q1 f) J- u% b
9 a2 {2 |6 v6 V5 afunction getRGB(colorString)
3 z; q4 d- ]4 l5 R{
: r# v3 l3 y+ y5 }) Q' W var RGB = new Array;
; D: B) w; x# A% Q2 F8 ? r& V var tempSting=colorString.substring(4,colorString.length-1);
, p) o+ S/ l: Y& r/ u var tempArray=tempSting.split(",");) b$ \" `- L% r9 w
, Y" i" ^4 X' r4 y0 Z
RGB[0]=parseInt(tempArray[0]);. w8 Y% S$ z9 }
RGB[1]=parseInt(tempArray[1]);
/ {' X) U" H6 x5 f RGB[2]=parseInt(tempArray[2]);! F7 [$ q6 E d" G9 \, |, m1 E
% s+ U2 V3 k9 j4 ^ p return RGB;
; h$ h* y) A* g}3 P: O+ h1 W {5 A
function keys(evt) % t: G8 H8 m( R) j) I7 J. ^2 j
{ # h' q) V5 R9 @; t& |$ a
if(evt.ctrlKey && evt.keyCode=="81")
4 X5 h7 v+ s- g* n& w5 }4 J {
; r% f3 a5 q5 B6 b- k" v CleanHideObj.on(0,1);
; X9 H- p+ K* U- }& q1 I- b( v6 t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 G9 ^7 W7 L) O/ B
* H- d" O& w& @ } % r; ^; P+ O" ?8 ]" i
} ) q" m& K7 V+ X+ ]- K4 E
document.addEventListener('keydown', keys, false); : l+ P1 A' d4 Y; r
GM_registerMenuCommand ('Clean Hide',
9 ~- t. J, i& Cfunction(e){
1 C6 ]* A! w' ]. qCleanHideObj.on(0,1)
3 s. r) C# K. n" B% u" {3 N5 u- Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ v( {% l9 J3 n7 a* P0 Z
});; V I( ]7 Y- c+ {
|
评分
-
查看全部评分
|