|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( @! X2 X3 {; X" G/ O' z- \
. ]$ [# i' c% w6 [" E9 ^火狐插件,用猴子
9 V! r/ F5 g! Z- L r
1 G5 T* z. ]) B- P/ G5 n, @/ ovar debug=false;
- b1 q1 W C, c6 u: Avar CleanHideObj=new CleanHideClass();' h# u- ~ ?$ T( o) ]
' t8 H9 B8 U- r0 t) L% r& ]function CleanHideClass() % w6 Z' w. Z( R H% \
{ $ ~5 v2 B' [6 c$ u, W. D
* @4 e) I- \" B, F1 a5 t3 W
this.on=function(id,bMZ); j) P# I7 `+ L" Y" e) K
{
8 t! p9 u$ o- j7 N' k $ J$ }5 T; v+ ~9 L# e
if(id == 0)4 O4 |/ y1 v; F- Q& j+ C4 X3 B) H
{) X" n W# p' q6 @8 `* T6 j
var page=/* document.getElementById("content").contentDocument */document;
, e L% [0 U" v: ?7 M this.RemoveHide(page,"span");+ ]- n8 `) l' L# V' I
this.RemoveHide(page,"font");
1 w9 ~1 D4 B+ {1 i this.RemoveHide(page,"div");. e, g7 _/ I) A* k, o) B, J
this.RemoveHide(page,"p");+ t: G5 K: e/ `5 U) u- a+ b/ w
9 ^% g+ N% ~5 |5 ] M% C6 L: C }8 ` ?1 q: {( r' I
) R; [: }( P: c8 s
}
# C p7 g1 A& ? this.getobjstyle=function(node,prop)+ o# z" n: W0 U6 \3 m" j3 P( d
{
1 }& ? x0 h- b' p/ X try
, k* K! N* h( i3 V- ^& i {
" V& J! b, \1 K; s# M L+ h8 j3 L return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; n; R, {. ^1 f: l1 e S" X
}
1 H5 w. y7 r# I+ D9 [ catch(e)2 q7 G7 a1 s5 {2 i( j8 c; ]* K
{
: X9 Z6 R" E0 M1 J0 i* k U if(debug)
j0 m- w/ K/ z9 ]5 M {% a- M( |2 d3 O$ h2 \" Q
alert(e.message);
- ] F1 a' o# m1 } }
+ S4 S* K8 f; b, ^5 U
5 |. i8 R1 n2 [) a return "200";5 B0 P! b3 W3 T
}
; G f8 _* \; Z9 q2 k, k* j }
2 k) m0 m3 D2 e- G d; W# K
; `6 Q$ Z, Y! J S* J7 } this.RemoveHide=function(page,objname)
' J- @7 A& P" Y5 m {: t' @) {# U( m8 V5 }; U( O
try
- D8 [7 L) A1 w- v3 X8 V7 x& f {
, ~& S* }5 j& g( \+ D# W! x* @ var minValue=15;; S& b# {9 ~# B2 K7 @+ T% [0 @
var objs=page.getElementsByTagName(objname); 8 |6 U- w# j) L0 [9 D+ n* I; w
; H( _% O, J9 \7 _; Z6 P if(objs.length == 0) 4 Z. n& a7 [6 m- J
{
* U ]. m9 _ _/ n: l if(debug)
9 {2 H7 w- P4 u1 E {
5 {) Y1 l! q0 _" w alert("no object found!:"+objname);; C' M. _3 h; z
}6 ?3 d1 C: ^& z1 q: W) u
}' i+ j+ u" ^- O
else
+ p+ p5 A/ q+ e" n* u {* j, J5 V4 j0 D* Z" ?+ ?" d. w
: l+ K, q4 Z& w% X9 @" t8 v2 I
for(var i=objs.length-1;i>=0;i--) ; ?8 l# {# l, q9 P
{/ c9 Q; P6 P8 G' L2 N1 _! N
var node=objs.item(i); # D) y" t8 |+ c- x
( I: H# L) _1 _. n$ A
$ p6 X7 |4 y- a+ t9 K if(this.getobjstyle(node,"display") == "none" ||
5 D/ Y" H- X5 f( L) [7 |, B this.getobjstyle(node,"visibility") =="hidden" ||
0 ?. {& b) M, k3 W: ?6 m; `. y0 C parseInt(this.getobjstyle(node,"font-size")) == 0)
4 W! ~/ O, }0 Z( c7 `- U, C {: V+ f; ?& r$ [- B/ V( e
if(debug)
5 }- a" N; ` R {& a; E" V9 ]' E: D
alert("remove invisiable!");, T: I' J7 p/ y: w9 B( c6 W
}
; X/ ~3 m& e* e' D9 y# \! E& ] node.parentNode.removeChild(node);% j5 M$ U( |1 f3 D5 Q; w) w- C0 C* \
3 W2 B5 H& Z3 \1 S
}
& ?0 b! W# X0 a else
9 j2 z* }2 i* X& x5 d9 W {
[( e1 b% ]/ F9 j4 ]2 O if(node.parentNode)
: `, h+ v8 I# k2 ^8 [. z8 W {
4 k" q- { {! ?, Y3 a var orgNode=node;# S: X& n. u' f2 g! K# N( \
var orgColor=this.getobjstyle(orgNode,"color")1 R; m W; V; q* s7 y
var orgRGB=getRGB(orgColor);
$ e: E1 n0 e: ~6 Z! k
' F5 B; N5 O: F& ? var parentNode=node.parentNode
. t. ~- @! }/ L. _9 K, H var parentBgColor=this.getobjstyle(parentNode,"background-color");3 {9 ?: t" B- }, ]" m! A) T
, ?& Y! g/ t+ j7 |4 x g9 w var isLast=false;- s n/ g' _4 P3 F4 p
) k: ~! O5 n% @; E while(parentBgColor == "transparent")
* p0 l7 a) f' q/ K/ |4 u. v {
, [ s. h5 m! J
, k' i& E v6 B7 T4 t6 P% r $ I, [) M+ A/ k
if(parentNode.parentNode == null)
: k* B6 M4 ?/ | {
* o% c) @2 j9 ?( R } a isLast=true;
% B( W7 U* t: K% q# e% q. t break;
5 a4 @- ~! |) `0 i# ? }+ y( w( N1 A* S, |% m& f; Q& w" b1 o
parentNode=parentNode.parentNode;2 e* w2 `+ x2 A
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ m$ R9 O N: |: p
% q% j& v- V( r; B l5 ?8 ` if(parentBgColor != "transparent")
/ q" G Y9 l7 U1 V( { {
$ j3 W9 U' R4 `- L break;0 j! X; U1 E. @' p. N% V6 @
}
( ]5 p6 d- H$ f }
1 D6 H- C9 Q! F6 C if(isLast)
% L6 G( O) `! @2 X1 h" a' p {) ?- M7 ~( @% L
if(debug)4 E3 h) w; C! g' V: Q( {! I |
{0 |; o3 ~2 |& d B, ~" n
alert("last!!");5 x- N9 {- v& [4 B" J
}
2 d9 n3 ^; |+ e; E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 A- R9 B$ ^" ]$ B. R9 H% @ {$ ~/ G" x3 J7 w
orgNode.parentNode.removeChild(orgNode); / @5 p, V" ^/ r* O h( r" B
}2 |% |6 j# U, u9 A5 ~
}/ P: e, M/ o' w9 j) ]% I% ^
else! | g% m& e+ J$ J9 m* ?" R% m0 m
{* w2 {# b) f' B0 B" o* Q0 o
if(debug), c1 @1 r: R( P w2 L* ?
{
5 N: Y' }( q! v" S" ~ alert("compare color and parent bgcolor!");% i# Z- {( z* P9 P' ], p) F
}" o+ e, {/ |( h! {! T0 Y
parentBgRGB=getRGB(parentBgColor);! O! j; j' z$ A- m5 o; d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& S, q3 m. V+ H3 l {
; ~. n1 k2 t! A# u orgNode.parentNode.removeChild(orgNode); , _/ ~7 b' p8 F9 a9 l7 P4 ^
}
: k0 _! y9 }( R: I4 u1 O- g0 f }2 |3 o+ ~9 u" V6 z7 L h2 D
}
6 i5 v8 a: S, @8 P }5 |) X. v) ?$ t
}* j% z9 D# i0 R- s) G' s1 ~
}
, D: Q2 e u' g: L) K 2 E8 r. O" n' z9 R5 h9 m7 s, i
+ I% U3 D; H5 b6 W. ?: |% u var itemFrames = page.getElementsByTagName("frame");7 I* z; b. y- ]. o; z
var itemiFrames = page.getElementsByTagName("iframe");
8 Z+ \: u( v/ ?% E8 S2 g8 y
) E2 |. S5 v( M6 H/ _3 D6 u var frame, iframe;. ]* T7 ~* x7 C
if (itemFrames.length > 0)
& D/ I0 Y/ R8 w8 P( F {
9 {3 z; v2 X9 h! L for (var i = 0 ; i< itemFrames.length ; i++)
. U7 v0 j6 E8 { {/ G; C* ]# Y6 q8 J; f! y8 [9 ^1 c8 q
frame = itemFrames.contentDocument;: c. b/ b* P9 ]2 r& m0 E) ]* G
this.RemoveHide(frame,objname);
* ^7 i% s: N- {- F }
* k1 w* M5 K3 Z: `- w7 \0 z. r; ~ }2 j( ]' i/ X; e( H# L w R
if (itemiFrames.length > 0)/ h' R0 O r/ g" H) q" m+ H
{
5 [: a3 u% Q$ Q7 n+ s2 Q for (var i = 0 ; i < itemiFrames.length ; i++)
, s/ R! A( ] ~+ L. V0 ^ {: _* w2 V* m5 B* }
iframe = itemiFrames.contentDocument;
9 Y) X0 c9 l6 ~1 }$ R1 s+ f this.RemoveHide(iframe,objname);
$ T1 T( \5 s0 W- I" w+ | }. x C( t& D1 f" q" A" N
}; W; y! F7 u" l, L( G5 F8 Y% u
}, R' N& Y( x( d
catch(e)3 N+ T9 J5 ~& D& T
{
1 I3 P# J5 b- ?+ Y; ?7 Z- Z7 s, o if(debug)7 t2 e7 f+ m4 p. {
{3 c! }# t& H% I8 E
alert(e.message);
" } \! @1 q* j5 D/ \% r) j }5 y" m: j, j, k0 E8 a. ]: m
}, {9 d' @6 R2 }- n* f, v+ m
}- z5 y! X) z& R
4 x2 M# {3 g+ {# F. U3 F
}0 W! S) Z; [7 E& z6 }# D5 m4 M
$ ^, B i! w+ m# c, X; cfunction getRGB(colorString)6 K; ~5 ~; c/ `, Z: L
{) `+ ^* z. c" x" E0 v
var RGB = new Array;
! ^& Y4 |% {1 H J1 l0 p1 R! V5 s/ I var tempSting=colorString.substring(4,colorString.length-1);
, r) w k3 J, |, Q: J6 n3 r" Z var tempArray=tempSting.split(",");
+ h. e' N5 B, {
$ R) n8 M' q. y+ p- F$ A+ n6 U3 Q RGB[0]=parseInt(tempArray[0]);
7 i/ w- O6 d! f& h RGB[1]=parseInt(tempArray[1]);
8 u- T; t d3 |, A0 H, ? RGB[2]=parseInt(tempArray[2]);1 U3 a, T2 a) t
. `9 W5 i2 G3 `7 h return RGB;
3 e9 ]2 c0 t$ ^" {: \}! G* i% n; _7 S" c4 H% }
function keys(evt)
# ], X: A1 b& V X { 5 J7 h* {4 e& q4 q
if(evt.ctrlKey && evt.keyCode=="81")
1 N7 T0 s. n: X0 {4 U { 1 g5 W6 B% B% h/ V$ Y* |: \0 O' X
CleanHideObj.on(0,1);
) F2 b0 J; V( Q! ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* U2 Y6 E4 [6 c% b4 H 9 \' S: b5 z7 H" S( A' Y
} & u2 L' l+ b% H$ ^- e
}
0 {0 W7 y6 w- M2 t* P) c* ydocument.addEventListener('keydown', keys, false); * O9 F5 y. [% U6 [! q* X
GM_registerMenuCommand ('Clean Hide',
# d; r y8 i, n* sfunction(e){
# w, h* z' p7 P9 JCleanHideObj.on(0,1)
9 H/ ^, @0 f# z' `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, `1 U- I' p7 e9 w" r});# `3 s4 H/ f l4 E2 O& Q
|
评分
-
查看全部评分
|