|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 l$ i0 F9 ?" I
2 E7 w, G2 N3 K. ~火狐插件,用猴子
& @ A5 Z' k! z) e$ g8 J9 l, k. D) f
var debug=false; 7 B2 K( R& a; X) _. q$ ~( `
var CleanHideObj=new CleanHideClass();
' m! Z v1 E/ Q9 n8 Z. N
7 H5 ]7 |4 ^! jfunction CleanHideClass()
* N* k. E: Q$ Q' f# Y{
R& o) d: G9 T0 \ ^$ t! D( P: K0 R ! _: V% n0 Q$ c6 f6 p
this.on=function(id,bMZ)
2 {' g8 V l: n- { {
/ K" W3 p- f3 P2 ?' [# ?5 W. U. m
: n4 p9 L3 y% D if(id == 0)! g0 k W0 C8 |4 V
{- _$ s" H8 v j8 s9 |0 d/ f4 ^ C
var page=/* document.getElementById("content").contentDocument */document;
$ a) k! D9 `' y' h5 m this.RemoveHide(page,"span");3 a" u' C' ?1 ]/ k2 C# b
this.RemoveHide(page,"font");! w% a2 N- i- w/ k; l8 \, U
this.RemoveHide(page,"div");
% \$ K0 s% `% K& s9 J2 j this.RemoveHide(page,"p");
1 E/ L- k$ \, ]. X. J. e- s 8 G& T# _( R, {! x
}
: a. F1 ^; e% {
8 }# l" m6 c0 O O& U+ E) I; g }
7 y/ P- y' o- {. j2 ] this.getobjstyle=function(node,prop)) Q0 L8 H$ W1 `! q \$ x
{
+ w2 t6 ^+ |# B. X try# G: L0 F3 w3 L$ H
{
) i! ]" b8 A( O# B2 u2 O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. i g& H4 p8 ^% p' c! T. M }- I9 n0 F2 F* u, j
catch(e)& F0 E; i) w; i8 u5 a
{8 M4 C' w, U8 E9 {' S
if(debug)
0 s3 U T, k0 s( s4 k) F4 L {
; V* U" T6 ^8 H- } J% \( c' V alert(e.message);9 o4 O m6 p* o k
}! l7 z) {0 y1 h/ k3 Z
) |$ D/ a; Z$ k% X
return "200";9 J' a$ Z+ f! D& s$ C
}
+ R0 n: r7 X3 n% R$ R K }
: I! u9 p. q2 Z' i1 e
/ q" \, k9 m% h this.RemoveHide=function(page,objname)) q% _4 U! D' d1 c0 [
{$ v! h, K: B |
try
+ b* D+ x9 ~8 S- g! I: A' b, @5 @ {: J% d ]2 v# \0 W1 q; t" g
var minValue=15;& W) p( Y1 x/ ~) \1 A
var objs=page.getElementsByTagName(objname); 5 r7 H9 s% a7 o
: L9 h7 U+ v0 {: @1 i
if(objs.length == 0) ( s% {3 H' o$ _+ @5 M- S
{
6 q. |+ w. o4 P6 J8 ? if(debug)+ l& p8 m: @& J+ B* R
{$ g! B$ i( k" {% W* [5 C
alert("no object found!:"+objname);+ d" ?+ p% ]8 x+ V7 a0 u4 M
}
+ ]! E% n# w$ C1 H& k$ h1 b }; Q V& w2 r6 H5 A& `* p
else0 O* n9 ?1 }5 d5 Z. p9 u' j! _
{
0 m0 N% F: g5 z% R( D0 G
. j( `7 |8 O ~ X for(var i=objs.length-1;i>=0;i--)
6 }0 u0 p" u. W/ S6 [2 c9 O {/ \ q; o [* C7 O+ V, y3 V
var node=objs.item(i); ) T7 k0 n/ i6 l1 m/ E) v5 v
1 U& c o" E) A+ e3 [( v
9 X/ L5 u' H( k: P# h; A if(this.getobjstyle(node,"display") == "none" ||8 g0 q( d9 D7 d9 y- ~4 k
this.getobjstyle(node,"visibility") =="hidden" ||* I' Z; y2 T( l/ Y1 G; ]3 T6 C
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ H2 p2 \+ e; I6 w {
( |7 ~0 B! P/ f' Q. v* F if(debug)
# i$ e/ m2 w7 g {
0 u* F D9 ~4 s. Y alert("remove invisiable!");: z- J* x" f# |! J s" M
}0 b0 r7 j; w5 W- v; K% o7 i0 i0 q
node.parentNode.removeChild(node);
y8 p( [; [7 Y' s" z
; F; s7 I3 D4 X2 U2 H' L8 a }
I" k1 f; H8 c; \8 ^' T else % L$ r0 x. s. i/ @7 O' x$ a' ]
{
4 l) n! u" V% K if(node.parentNode)
& P3 G2 t8 q' F x5 N$ ~* [ {
1 K# L. y. X0 G" I* l2 l( { var orgNode=node;0 i6 J6 k& ~: D3 }4 T; f6 s
var orgColor=this.getobjstyle(orgNode,"color")
, x9 i8 T' c. i$ s) o M var orgRGB=getRGB(orgColor); : b8 Z. m6 w9 l* y, G
( J7 A x, h( F var parentNode=node.parentNode4 @8 u+ k" r# p4 _% a
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: V: b* Y2 Q+ L0 z 0 X# j% E' j+ }6 b4 z! T/ x
var isLast=false;
* n7 b/ h9 B# A$ t( e L
! }" ^( f j0 B$ h1 { while(parentBgColor == "transparent")
+ N" i+ i% F7 C' E {$ c/ K) f& f0 s! Q
, f( ]0 z/ A/ j' M6 M
( O- n! _6 ?) @: i1 [2 ` if(parentNode.parentNode == null)
# j' f: L- l8 L2 d) x! u3 v {
: X7 K, |0 D2 |: V isLast=true;
) ]' m j4 y* D, C break;
0 k& B( g) p- C" H2 Z- S }
- R; ?* i% a# Q1 k" i8 r, G: | parentNode=parentNode.parentNode;8 E7 s' N8 P0 v( }5 T" Z
parentBgColor=this.getobjstyle(parentNode,"background-color");; v# ?! O9 f8 I2 I% D
% x% }: O3 M0 W9 @( v
if(parentBgColor != "transparent")
! I( d6 i; @( ]: { {" n6 x# r# [% c% X' v
break;
- c' t7 S' l: @; X5 K }
. `; q0 J; C& ~+ ]5 B) G' v0 w/ y }
* d$ r) [: l; Z0 F1 P5 |- S if(isLast) & B# E# _+ T+ _ m* \, p
{
; E2 d) ?1 x; t. v, { if(debug): v$ ?: L, q1 q5 b/ g' u
{- N8 c+ f0 H* b1 V% J! }( M
alert("last!!");8 }+ ~+ H O. X& u4 \( t7 U# t% L
}( C* _) \" _6 A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% a/ p! j. ~: i( E {# W0 c/ {, ?; y W
orgNode.parentNode.removeChild(orgNode); # Y% Z" V& [3 i3 {/ C W0 O
}
- `! B8 R3 E1 L, j+ ^8 ~- N5 N2 Q }3 j* \8 ]: _$ P' a0 g9 n- b
else
1 I; N$ U: R. z) K! F {3 R- g3 v) v9 |1 a( R' ]
if(debug)- A7 c2 r8 U: w5 e- Y. b
{! @0 b. F) p, [
alert("compare color and parent bgcolor!");3 Y# W6 @; B! ]
}# m0 m) I5 ~% ^. \9 I! n( j/ C
parentBgRGB=getRGB(parentBgColor);/ t. O1 {1 ]8 E' z }/ m, X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% C& {% x' t, H {
) Y1 R3 ]2 C/ ^& a( s- E5 a orgNode.parentNode.removeChild(orgNode); 0 r$ d- C* R+ C' @
}
/ U" I( f* G6 L0 _ }( U' Q h$ ?$ B9 @& r+ S
}
$ C7 @" A' k* N! K: Z }) g1 ]: x$ N& k9 [
}
: q) x3 P2 z% T0 H }
& W" I. l% c7 Y7 t1 p2 d. @ . |9 Z$ O( ^+ i, p t. \# O
?& x) T# U" N% J5 Q+ q) W
var itemFrames = page.getElementsByTagName("frame");
. Z- {' m b0 Q0 H) M# j# S& K3 w8 ` var itemiFrames = page.getElementsByTagName("iframe");' V2 R0 g2 I+ u6 i" ~$ N6 U
7 ]/ s2 q! B1 q- m var frame, iframe;
, {3 v o a9 Y) U3 D if (itemFrames.length > 0)' ]. |1 U$ A$ t
{
% t+ e2 E6 l E" B; | for (var i = 0 ; i< itemFrames.length ; i++)
6 V: @% w: h. g; d {* U3 k# h/ D( `2 l: y# P
frame = itemFrames.contentDocument;0 ]: a3 j' S; p6 {- H
this.RemoveHide(frame,objname);
' K# u4 v" |6 C" } }
$ e8 u0 S6 }% P! e: l$ d1 a }
6 T3 ?5 M- i; i- J- d W+ n if (itemiFrames.length > 0)
9 u' x7 f' W# [6 }) K* Y {$ s& j1 G v' Q2 x) k
for (var i = 0 ; i < itemiFrames.length ; i++)
( _3 w% v% e8 H, e y' ` {4 B7 o$ j& O. T
iframe = itemiFrames.contentDocument;
" f5 |+ o. H. k/ N/ W4 ^6 N this.RemoveHide(iframe,objname); 7 j s7 p. c" i% g9 E! ~ o
}
1 c* ~. Y4 {: Q, E( Q- a% ^ }
2 q$ O2 u9 l& s/ F% A8 a }' Z8 C6 T0 x& q- J2 v8 P, }
catch(e)
% _: m5 L3 b+ S. A$ c) ~: T# u! f% M( s {6 `- `; X. W7 R
if(debug)
+ v6 @& C0 G! n5 a {
. |& `! d4 q* q% I" | alert(e.message);* h# r' |7 G# f& G+ @/ G+ w* ^( M( |
}
* U( K# f, \) N: J }" c/ o) c3 A& D9 O' @. v
}+ |% ~4 g; a& W1 Q; ^
5 m& Z: Y1 F; Z# R
}
/ k* T6 B3 }/ f) g! n; }
" @$ ]+ \- [# ?9 O* l4 r% lfunction getRGB(colorString)
( \" b1 r/ M2 v1 c7 x9 h7 E{1 k l7 m. A# `5 m
var RGB = new Array;8 S0 V5 ?: ?6 J1 j
var tempSting=colorString.substring(4,colorString.length-1);
3 D0 f* D% Q* ?$ g- k* o( L c var tempArray=tempSting.split(",");7 T, _- p! B; |# t& y% B1 O- y
R; X3 h3 M2 I) k) y% m# W RGB[0]=parseInt(tempArray[0]);
; @, }6 ~' x b# @7 { Z; y, o8 w2 S RGB[1]=parseInt(tempArray[1]);
& k9 T6 c" h" V2 {- J3 S0 L RGB[2]=parseInt(tempArray[2]);0 i+ g# R R6 F k
^1 g2 H# {6 P return RGB;3 K8 T6 {8 s) d2 P! ~1 p l e
}8 R& T+ w" J2 G
function keys(evt)
2 K# @/ q" P2 N8 J: i I {
0 Q) w/ o# z; Q; P, Q6 J5 {' [ if(evt.ctrlKey && evt.keyCode=="81") . `' f* l. h/ B0 @
{ - [; ~* T5 }& G
CleanHideObj.on(0,1);
! _: l, F) h) T% s1 c2 } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( O- q+ l7 ~4 O ( r: ~2 \ r: O w+ I
} + h, P( b, g/ a# }; D$ h" V
}
% c Y' H4 r ]; R: Xdocument.addEventListener('keydown', keys, false); , w' K5 u- ?+ }; @/ N
GM_registerMenuCommand ('Clean Hide',
$ \3 v0 H, R6 Yfunction(e){
" ~5 z, o% @7 o i' b: ^% dCleanHideObj.on(0,1)
% O/ [8 Q& }' @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& i& {( ]# {% V a7 [/ y/ D4 [});
$ S+ h5 a, N9 u* U# A% p6 U |
评分
-
查看全部评分
|