|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 M; l& G! \$ ^* W4 b
5 @7 ?, N; w0 F* s4 x( @% F火狐插件,用猴子8 C/ ]" E' @3 O& n4 r* ?0 S0 g
& l2 Z: x' K2 q6 ~% ]/ K) d
var debug=false; 0 z" k5 _6 T. ?5 m* Y
var CleanHideObj=new CleanHideClass();$ K% O+ q2 G) Q$ d. B2 e' a) i
) ~# Q2 x4 x8 t1 D* n" H
function CleanHideClass() & H" t, L9 R' v
{
' l/ f. H8 L7 e$ T! A$ z- D
) E% e6 ^/ z# y" t( I- `/ ^ this.on=function(id,bMZ)8 q. b# y$ M1 [
{4 _! g+ d9 [; f0 J" j; t! M
7 S# i( C8 \# \
if(id == 0)! R$ p% Q: t6 g
{7 ?5 q4 j0 Z) U+ |) ^
var page=/* document.getElementById("content").contentDocument */document; 5 U. ]' J' T8 v1 U0 b) H- V7 D0 B
this.RemoveHide(page,"span");
. [" [- T6 t3 \! D+ Z this.RemoveHide(page,"font");& {; X r5 x |8 V$ c. p% M+ P
this.RemoveHide(page,"div");# o" J! \; M2 \* B2 t3 a" O8 O
this.RemoveHide(page,"p");9 X, i0 u) }/ _) @4 e! c
* X+ y1 p* m' z1 u' x* U }8 S6 v6 l6 `$ h2 G1 r
( Z* j- \) ~) T0 Q+ X$ B9 J
}
7 m, L6 G" f/ F7 N. b this.getobjstyle=function(node,prop)( [" |1 g( b, ]5 I; A
{
t' c5 A1 l, x$ Y try( b) |5 O9 A% N2 \# F4 }
{
) A8 X- ]! F4 D$ R# P return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- r; d @4 _" V5 Y6 U# r w4 n6 D
}% ~- P3 s6 u+ G5 \ v! ]: [
catch(e)
- h; f! A$ A/ y- H' Y C# `+ Q {# O3 y/ u1 n" _' h$ ^, C
if(debug)
5 X6 c: @1 I7 x' c) t: L, B {
. X. T D; v) ?: I2 e3 z alert(e.message);
6 T j9 g' L/ y- f2 N) X) ?5 n }
. Q( F4 g5 h5 l9 B
& G: l$ {/ N [( V( C5 N return "200";- n3 w' h; t7 W) e: L
}! y' g# _7 P5 k$ o6 T
}
3 t# f+ T# r1 m" q/ K + {/ i0 N% E) ^7 h, k- q: z+ x
this.RemoveHide=function(page,objname)
" G; A1 g* B1 N+ m; ?& L* T {, K* ~3 L1 G$ A3 n
try
4 Z% \+ z# b+ c4 _1 H5 L) U: k# ]% b {" Z; C2 M/ Q: y3 S
var minValue=15;
* p; \* O* |0 I" W. Y- N& b# I4 I var objs=page.getElementsByTagName(objname); $ H( ^% r$ s; o) l0 f
5 T' k3 G0 c7 K K
if(objs.length == 0)
7 y: J9 O" w u( A! i; k- q0 Z {5 a& M6 }( p0 ^1 I+ m
if(debug)! X. r7 j/ s% N. W; f, p
{6 ^# h) \6 u, V- V }: h
alert("no object found!:"+objname);# X7 g2 p' b# g
}7 m5 X. H. {, @
}' w/ A0 M4 W% z; b3 ^1 ?
else) l" B5 M7 J& t7 S8 r0 f t1 l5 @
{
`2 b+ W+ s/ P, _+ T1 w
+ M; L; H: j! b9 [, l for(var i=objs.length-1;i>=0;i--)
: r" Y6 a, j' W# D {
0 \3 ?5 l+ w& c; ?7 B, o var node=objs.item(i); ( o. ~& I' v4 B7 g3 T# O
4 d. b# S$ d. r( M- ~' z* A
+ Z+ K$ I1 V9 [; |( G
if(this.getobjstyle(node,"display") == "none" ||8 Z; w% q6 a! _/ {. ]) Z* g
this.getobjstyle(node,"visibility") =="hidden" ||' A2 ?+ i) Z3 Y" |
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 S- _2 q/ [: x/ k, U {
8 E4 F+ J b. q3 H6 i if(debug)( U" }8 R9 Q/ n! f+ U( M
{
' s0 \7 J- P( }- t alert("remove invisiable!");& j- Q2 g! q9 t5 |
}
8 i2 W1 B0 x0 |4 ~5 n5 k1 [ node.parentNode.removeChild(node);, O/ c9 \6 r" v
$ }# `5 e: k7 k% S7 ] r0 m7 N
}
+ H3 L9 H$ x1 k/ y else
" |4 t: r: _* u* _+ g {
0 i9 {# }1 {* w- \1 L if(node.parentNode)
) D/ J4 d5 N( a6 g9 D3 V* n {
5 v2 z/ |3 j+ } G var orgNode=node;
. T! H7 J9 C V( M% K# g var orgColor=this.getobjstyle(orgNode,"color")4 d H" s1 [1 x% H
var orgRGB=getRGB(orgColor); . X/ K. T) ^. ?' t% r
4 G/ [& B! l: M0 p var parentNode=node.parentNode
% ~. c) d/ Z5 O) ?: c var parentBgColor=this.getobjstyle(parentNode,"background-color");
' W3 R1 i- K3 W/ Y2 x) U1 L$ L0 G! O 1 g3 q" @8 v3 G( s# g! _
var isLast=false;
, i' ^: `+ y7 P) D. g4 _' g
' @+ z. F8 @0 ~, w while(parentBgColor == "transparent")
& h! \& M/ q, J7 I/ _% b {6 \5 }0 @% a: i- d* M
. H) u# {: W% K! T, V; b
& a3 T0 Z6 B) n9 S! C
if(parentNode.parentNode == null)
' |. x" | ?* z: T: i! @! v {
) G w- D( u2 Q isLast=true;( F2 t4 ]2 W/ h. F+ p! [
break;1 z9 Z) b5 A; s; m$ Q3 T
}& H5 a9 K8 Z2 p: b+ k
parentNode=parentNode.parentNode;" ?/ i" I) l" J l) T% P
parentBgColor=this.getobjstyle(parentNode,"background-color");
^* f0 J4 k" b' S, s8 y# a: b" {6 \2 d7 _3 ?7 a/ `5 d
if(parentBgColor != "transparent")
8 M4 C8 F+ W- ^" c* h. H0 U {
6 v* ^; [6 R) U7 g3 k F break;
. s2 ]5 G" _, x9 h3 p }- E4 h) D0 ~% E* P0 ?" I, E
}
0 C7 u2 o) u. J% ? if(isLast)
3 e, P' U, F+ l X( t1 P( L H {
! t, x% [0 j+ O- o$ Y% j: g- r if(debug)
& t, u) c3 l% _1 {) B {3 D4 q0 \( V2 z
alert("last!!");
, O+ a+ _9 A+ S9 { }
9 A/ N0 X' w" s* D% B% D5 P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 B. |$ p. R6 A& ^ {4 N$ t) S6 @) b. q
orgNode.parentNode.removeChild(orgNode); 1 H' u! J2 R {) o; M; b6 n4 Q
}
, y; i6 j9 U4 _8 r+ b2 A }& H( c! k% j) K9 Q0 d' B4 Q
else
, _1 A' g7 O1 t5 F0 h1 ~0 D0 U {
7 w& B: m6 A. c2 L6 u if(debug)
2 M& n7 \, \9 z9 _' P! |. w: K( N {
0 w, S' K8 b" o) N4 z4 l+ m( A alert("compare color and parent bgcolor!");
, P' T! g9 ~% n0 R }
# d( ?3 W$ w$ R& d9 Z parentBgRGB=getRGB(parentBgColor); {! C+ a, Z4 S
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 \& A6 f \% o {
. ^0 M! |$ |2 ~6 Q' c: A: ` orgNode.parentNode.removeChild(orgNode);
/ _# j$ D5 ]% C0 J# {3 L7 a6 P }% [7 k& A- n+ O% b& n6 a/ c. F, b
}8 O4 T: b, l/ X" _4 w- P o% F' c
}
+ [% D* ?# L5 \6 N1 n6 @ }
" F4 r, ^9 T/ Q) I! I" d. S }
4 a3 g/ d% G' w& N* l0 S% f$ G1 Y+ ? }
5 B3 |' q: t z: H/ e1 L
2 w( y) B8 E& g8 A: y
! u1 q R9 d9 E- y, ] G var itemFrames = page.getElementsByTagName("frame");3 e" A! W q" c* v; s D5 {, d
var itemiFrames = page.getElementsByTagName("iframe");2 {5 |- y) \" S! F5 F. v
9 \( g* T3 g6 P& z$ i) p
var frame, iframe;: x+ V* k3 a3 e6 U ~% U1 h
if (itemFrames.length > 0)
" ~8 q$ c( B$ w3 I {. C9 S& z B+ s! m! ^' [
for (var i = 0 ; i< itemFrames.length ; i++)
) K0 X+ g; o0 N4 q+ \9 h9 @2 \6 R {
# q: r( [6 E! |# @7 l- ^ frame = itemFrames.contentDocument;
& y9 p8 T0 [" k& K0 K this.RemoveHide(frame,objname); 0 R+ s3 w& A+ }0 S( K5 x. m
}- U4 o2 H& P! F( D; L
}
% m5 I( S! b; ^& c! Z2 s# G0 D) L if (itemiFrames.length > 0)0 c4 w! k+ W, A& b) @* e
{$ r Q. @# I( C) }% u& X
for (var i = 0 ; i < itemiFrames.length ; i++)
2 m% J$ q, H/ p. J/ A3 \ {
1 o$ O# r3 |# b9 W iframe = itemiFrames.contentDocument;0 C& s; t+ [3 j" W
this.RemoveHide(iframe,objname); 4 M% U c& I* h5 Y1 E/ A, |0 I1 {
}
$ I( t' G" M$ h' j- H b, i }
! y& H- y& X4 a8 r+ Y! B( o( y }
& u7 u0 V" |% ]3 r& m3 |8 Q" D catch(e) b5 e; o, A9 X% c/ h# w8 Y/ y
{$ D* d# Q/ U3 s6 S, [
if(debug)
+ V6 @9 Y' ^$ H; q9 v- t {
8 n2 r6 M* x3 U. N; E9 ]; G! L alert(e.message);4 A- \' B3 `& q$ m
}* Q) V; s H+ M! ^, \! [
}$ R$ J3 K+ m* |! \
}5 H/ |7 q, S$ M A3 V# A
9 o [: b; O# i}
* m/ J" a" `: n) m) [+ P, |# u- u- o7 L- J- N2 c
function getRGB(colorString)
; W( I4 s5 r1 d' b) `2 u8 [2 j{% H) f) k" S7 w3 Q
var RGB = new Array;
4 l. }0 R4 F; O: U, Q var tempSting=colorString.substring(4,colorString.length-1);
, \. s+ a! Z% `+ U var tempArray=tempSting.split(",");
. D2 i9 [6 G0 A& C3 t# [+ b4 \2 f. S# m, J4 M5 r- i6 O
RGB[0]=parseInt(tempArray[0]);
5 H! d+ B% p* }/ I2 x* h7 H& | RGB[1]=parseInt(tempArray[1]);
3 I0 u9 X5 ]* P# S RGB[2]=parseInt(tempArray[2]);
: O- ?) C" Y: D3 U9 J3 W " @$ z. g8 p0 G. ~, A- l/ h$ z
return RGB;4 K+ e' A# M' m1 J: a, a+ g
}
+ h. C- Q/ Y6 }function keys(evt) : K+ I8 p6 W# e9 v* R( [/ C
{ 4 x9 `4 h* N. o, {5 l" H% n2 x# y
if(evt.ctrlKey && evt.keyCode=="81") $ S9 G( ~2 u3 p- d9 O/ n
{
4 m7 s' Z) J3 ^+ Y CleanHideObj.on(0,1);
# t0 L9 H) {( r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
o$ N7 Y- g1 W2 }
- Y0 r3 a; ]8 @7 L4 X } 6 }! S% W( N0 I9 u' L2 w+ R* B
} / f' }- S( D: n7 h R0 z
document.addEventListener('keydown', keys, false); . f! e: s: P8 ^2 g
GM_registerMenuCommand ('Clean Hide',
' O: j( g8 ]9 _. Y/ ufunction(e){/ I3 q- J& d/ C- p
CleanHideObj.on(0,1)
- w9 K) B4 H; D1 S1 I3 H, falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- J4 u) g0 I5 ]1 e
});, v- I- o; b, Q
|
评分
-
查看全部评分
|