|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ ^8 Z! a& W& ?$ ]1 G# I, N, N7 G" Q d) M U- p8 S1 m
火狐插件,用猴子
% t8 P- e# L2 p7 V1 |; ]: f# u( D; V2 u6 k
var debug=false; 6 U- I. H' f9 s. z1 ~. Z* u- ~+ p0 l
var CleanHideObj=new CleanHideClass();
1 W3 ^/ R5 a, z' D& o8 q3 {) Z- h: ^+ D2 M6 H. Y9 M6 W8 p+ o
function CleanHideClass()
* P9 k3 I4 t F F' z{ 9 W8 H$ O! V* C# H6 S4 `2 h/ B
! h, `/ ?3 I: S0 {2 T0 T
this.on=function(id,bMZ); e. H( d) G! y4 \$ S
{8 q) ?7 v1 R+ g* o/ s' N y' K
0 y$ s. {7 h- F: N) `) ]* z' ?
if(id == 0)
1 |; L' V9 i) w3 g4 d# G {: n8 T, \7 ~, o6 S% Y% L% ]' ]
var page=/* document.getElementById("content").contentDocument */document; & N/ U* q' F: {4 f
this.RemoveHide(page,"span");1 n: s9 Z0 a. l" n% I, Q, ]- }5 t
this.RemoveHide(page,"font");0 t* @, S; C# B# \
this.RemoveHide(page,"div");3 X% r: F3 q l5 F/ }( z: ~
this.RemoveHide(page,"p");& k0 I" c! r; w7 U
- ?; }0 F9 ?' E2 B }4 J1 w' M# u: G9 b+ h
% x1 M& N8 T8 f* \6 x }( f! {' I8 K+ w( |' N
this.getobjstyle=function(node,prop)
6 ~. q! v/ |) r% e" \ {
5 D8 C, ?6 d( A' _2 z8 x( T0 ]8 g try
8 w6 h$ g; {! D0 M9 k {- o9 Y/ {: s. T1 Q* e. D% |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, a3 k) \+ T( Y7 y. r }
8 |* t% N- f$ G7 @6 U/ I catch(e); A8 |0 f# b( h/ N% I% I' Q
{" Q6 _2 }+ _7 p8 z6 @. x8 _
if(debug) q$ j) N' k- [6 _
{( T: Y3 m; m0 c G ?& A, T
alert(e.message);% J. x K8 G2 S9 H) q
}9 l$ u) ]* c% S5 P0 `
5 L4 ^/ I; M" `# n' b3 h% O1 @( a
return "200";4 h& r7 H: j& q, ?% O3 L
}& G1 ?. X3 n |, l; X2 h
}5 G7 m, u( N# I( Z* v" u2 n
, d6 w8 ]8 z* P" @: \% M this.RemoveHide=function(page,objname)+ _% N: h5 Q) e- ?$ b5 F3 e, L
{
- E; j7 J# B0 N; X4 w/ } try8 u. l5 v4 V6 `' n9 `9 ?5 c
{. E. c d4 n- y. L$ _, _) _+ d
var minValue=15;6 \* N7 m8 ]# W
var objs=page.getElementsByTagName(objname);
6 b; I& E1 |& I8 M
* Y* _+ J* E, t: H% B1 f if(objs.length == 0)
* o& g* ~/ K5 k/ ~ {
' ]4 w; ~6 n0 X if(debug)
+ w, m6 b& u* i: h# A {" ?- o6 l, T! Q( }) o
alert("no object found!:"+objname);7 k& F" Q7 A* E) K6 C( F
}
1 v3 M0 ]7 z5 z5 j+ g }
! Y3 _* }/ L' m, w3 w* f else
- l+ g0 [/ i( Y3 u {
8 P" p* A% X' G. X- C5 }# g
" {8 Q, @. o# t2 |% f+ | for(var i=objs.length-1;i>=0;i--)
7 u1 R o- V$ O, b% d- K2 H {
' g j: l6 |7 W var node=objs.item(i); $ F5 ]: T) K- g! w( u6 u
0 `! i, q4 q3 Q$ n! n* y$ b
@! G) A, ]5 U, B if(this.getobjstyle(node,"display") == "none" ||
& X$ A; \" j2 K7 }$ E+ c this.getobjstyle(node,"visibility") =="hidden" ||
/ q$ m- T0 V9 y2 ~: Y* x/ l5 u) b parseInt(this.getobjstyle(node,"font-size")) == 0)
; ]6 V: K, S' n3 W7 } {
2 m+ f) q/ i7 ]) B5 K$ m: g3 k d if(debug)
7 }- P3 P. w [7 l/ ?/ H {
: E% {3 e: u. T* ^4 [3 s alert("remove invisiable!");
: a6 B: s0 Q3 e; z8 ]9 x }
( {* Z. U3 h# y$ P' D- Y" [ node.parentNode.removeChild(node);
7 z: o1 }( Q f; E* C
5 W, g) x: E/ ], ~ }1 w, d+ }$ U1 C6 {9 S) ^4 B4 D; M
else
9 {8 B- H1 O! f3 f! l& H {. H( {; d9 j- k7 s5 [4 P' b% X
if(node.parentNode) ' i5 y; q9 L7 D5 b
{
) q! G" h. }' w% K var orgNode=node;
, `6 @ ^2 M0 h3 d var orgColor=this.getobjstyle(orgNode,"color")
$ ^; J. n" n( p8 z% ~ var orgRGB=getRGB(orgColor); 6 |6 m- c! S P) o; k
' I. X9 c3 ^. r+ ~
var parentNode=node.parentNode
# B/ Z2 a7 t( l7 u var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 _7 o) ^9 T h7 K# A/ x , ^1 m1 s0 L# r) s: Q. V
var isLast=false;
8 k" g8 C0 y4 H$ v0 @1 g 3 J$ S7 o4 }; q7 ^8 e, p
while(parentBgColor == "transparent") / h, @& s ]) a# p6 j
{
' x3 H9 h. O* }0 b/ f( }/ O$ J1 K
( c9 F9 w8 a7 C$ K, H. S* ~ q, w+ c9 {7 g+ i" ~0 x
if(parentNode.parentNode == null)( ^" j( y4 f3 l" N" @
{* C# U- W% W& p3 m
isLast=true;
, n# D, X( Z3 ^3 ~/ ?# F break;4 p d4 {( r3 \5 z8 k5 M" ^7 x
}
( N9 Z) r7 K9 _" D, | parentNode=parentNode.parentNode;
) [6 n& T7 H3 A7 ^7 \( r4 W parentBgColor=this.getobjstyle(parentNode,"background-color");* U5 e1 R! H7 Q
: Y b- { Y! q3 r) [8 r6 L% q if(parentBgColor != "transparent") 8 ?2 p3 D( g4 m
{
6 L' Y$ _" I3 F& w break;- p- H& U H6 k5 f1 r4 F6 B
}
6 K! |9 E% x/ U* U }
9 B" I6 t6 v7 _( Q; `; n% H0 I& M if(isLast) 1 { _0 E; V: A4 m4 N3 c+ g ^
{9 z! T' s. R# ~2 O g( W w
if(debug)
5 L. O; e& R# L {
; n, c: D P4 ?! ~* `! T! ]3 u alert("last!!");
" {; @) K# W4 d) Y* P+ k" E$ Z }" O5 r- L0 e7 M. s1 E- V' l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 X! S- a6 J# ?+ l: w+ l& N7 `$ N {
U3 l* U. w) j1 k2 Y" J. o. Z orgNode.parentNode.removeChild(orgNode); / \$ J# W+ c9 ^/ x# M
}" e O+ n4 T! a) K8 A/ A
}
7 M( ]! o# i7 H% Y3 }4 Z else% w" w0 T1 G& Z3 M& K% Y# k
{5 Q( X8 P/ M, m
if(debug)
, a+ j9 c w; C1 g {. G9 p6 c4 o* }" O
alert("compare color and parent bgcolor!");! }5 m8 G- p# Q/ t/ P
}4 `8 P0 x! E+ Q. c
parentBgRGB=getRGB(parentBgColor);
- d9 l- @! }7 Y, M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 q! m0 T) |' _! i& ] {
0 K& F+ g/ L6 d$ |0 n" _" a! G* D7 S orgNode.parentNode.removeChild(orgNode);
9 l4 q f. T }6 b2 l, _, O }
5 t: N4 l( F3 L$ @8 a" t% n' c }
$ x: e+ m3 a0 ~ }2 Z3 f4 l% Y3 v% P) z7 w
}
/ i6 `- n6 k5 d& k, E' V }( p: j; F8 H1 y, ]
}
( J/ q5 l/ m1 I6 ?4 \
8 v% f: M# {. i
! v( ^. L2 p/ m# Y% N9 J0 E/ h var itemFrames = page.getElementsByTagName("frame");
/ p5 \+ U' }6 m, h, w: _, c7 L d var itemiFrames = page.getElementsByTagName("iframe");
- U1 b5 o$ C) |5 o9 d5 ?$ N
% h- l; E7 u8 f# P3 v0 E* N var frame, iframe;3 N' f2 G5 P) v
if (itemFrames.length > 0)
' n- E# x& v' z0 y8 q u! |* ^ {1 N9 N! d' R3 s& r
for (var i = 0 ; i< itemFrames.length ; i++)
8 J0 r# A3 l' z7 ] J {
) Y+ r3 W7 t1 G/ s frame = itemFrames.contentDocument;
9 r8 Y4 Z4 |5 [' k2 F% U this.RemoveHide(frame,objname); 7 v, d, t6 r% F2 k7 F' E
}
6 g7 V1 y c8 v7 G }
! p$ p0 J2 a6 i% g6 t' A5 J if (itemiFrames.length > 0)
6 \6 b: y/ S! J# i9 r/ S/ D {+ h; |1 Z' g; }. Y: U; M5 W; D- M
for (var i = 0 ; i < itemiFrames.length ; i++) 8 [5 n$ g# j- l1 W! @
{0 n ^2 X+ v2 J- z1 N8 i
iframe = itemiFrames.contentDocument;1 _ |& r9 Q1 \7 R5 [ k5 G3 B+ G
this.RemoveHide(iframe,objname);
3 _4 v7 ~' ^0 ^ }
- s' | g$ W6 [# U }# U0 Z5 u! \3 C, g9 P
}0 M4 @: c0 z9 F& c _9 ^6 n
catch(e)
. b0 H3 V% @1 q9 \* t# s$ C {0 W# w7 L+ B7 o0 T' Z( A
if(debug)
/ y; B/ q; W5 a+ P {7 H! |/ c+ j- X) |" e9 S1 L8 P" [
alert(e.message);
3 b1 u" j [/ L9 x# l6 W3 _6 e }- Y; d: y; y2 q/ F( Z' t7 w- {# `7 C
}7 F0 f" K5 v" ?& Y
}7 x# I, d3 f9 s+ k( z
7 U# ]0 ^# t. Z ^. G3 d}
* q, \+ r( U! }6 c! z' W
8 d# @9 Y5 d% Y1 s3 {function getRGB(colorString)
- D9 y7 x9 l5 E* j( V{
- M V8 F" ?& t( n7 `; G# {9 J. J) C var RGB = new Array;
5 X9 T4 N; z" O var tempSting=colorString.substring(4,colorString.length-1);, L" L4 M) @) w# y2 B
var tempArray=tempSting.split(",");
7 O. Z2 C- {9 ]- f7 t2 E; k0 R
RGB[0]=parseInt(tempArray[0]);
& _1 S5 l/ `+ m5 A$ v) l! g6 d7 l: v RGB[1]=parseInt(tempArray[1]);' O1 F0 k+ f E& V' _2 h) k/ N
RGB[2]=parseInt(tempArray[2]);
: O$ I9 V3 s5 q# R, n+ _& i , y# s! v( N7 H, Y4 d S3 ~
return RGB;
, X( B; [4 p/ ]' f. f, ?}" e5 {7 U9 J1 Y+ v" {' z" V( F# q
function keys(evt) , w* \5 b5 G+ e& H Y' z \$ X1 F
{ 2 D$ `9 j5 R( Y" D5 P
if(evt.ctrlKey && evt.keyCode=="81") 2 V% ^2 w& h! K$ C9 W9 f0 d
{
. d) U& R/ b8 `6 a a7 q& B CleanHideObj.on(0,1);
: ]" W( c# L# v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. K& z7 D) G4 W& a; d
5 G" i8 W/ p q6 O* [0 p } 2 C- i/ Q# x( J
}
: q# C, M/ u- p; B% f- Hdocument.addEventListener('keydown', keys, false); " D! a3 T2 T1 M& b& q
GM_registerMenuCommand ('Clean Hide',
, i5 ?+ m5 F+ N8 L: Nfunction(e){
5 r- l& Y; C+ n3 Y' p3 QCleanHideObj.on(0,1)
' L5 O' U7 [# h% _6 H% `; }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) r# E' _3 p# M' x2 n
});
- P( I2 a& c: _1 E2 c) Z8 z0 s3 S |
评分
-
查看全部评分
|