|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - q7 F4 h, t0 C: j5 `4 i! h
% I/ o2 U# R8 e6 W( D; @) @( @/ x
火狐插件,用猴子
9 o) b) s9 S$ S% U) a3 p
9 |& ~- @( B- l6 E; E; Q Ivar debug=false; , s0 d& I* ^, c
var CleanHideObj=new CleanHideClass();
; B4 g, {/ s. {5 u! k& F- h$ J
- V. r, H* \- E9 U$ sfunction CleanHideClass() - h) J6 U" q. W# M! h% a4 i7 m
{ ; B6 _/ Z0 q6 L
! B7 e5 G8 ]6 N& h6 i this.on=function(id,bMZ)" h4 c8 D3 g' y$ V/ c
{
, ^ X y) h/ {8 h" ~, z& a/ M \
6 I j, O# ?& J+ A( A+ G( A if(id == 0)
$ o' q* V# z" O: [; d {
% ~5 ~1 f8 y1 ~7 v/ w6 Q var page=/* document.getElementById("content").contentDocument */document; & K; @0 ?, S, c8 u/ i" K
this.RemoveHide(page,"span");
( l+ m, \$ E1 Y/ f5 s this.RemoveHide(page,"font");
4 D5 h: k/ e& O# T this.RemoveHide(page,"div");
5 k6 l$ |" B6 y3 `5 s4 U: C this.RemoveHide(page,"p");
" @. t, d% b8 J" }, ~
! _( c! S1 U( n. K' J' x }
* F$ F% }& |( [, y( |8 J( `8 O
5 o& ~$ K. S6 t( ~1 e! L( p }
' C) M! I3 O/ w2 n/ ], s3 b# q this.getobjstyle=function(node,prop)
- \) o# A9 }, S% _ {7 }' u1 ~- g# Q; c0 X2 I' V' m5 G
try b3 s8 p; F V0 o3 c: {
{
( }' C( P6 }9 G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& b3 m6 @* m) G8 M* r }1 Z: v3 n: s, w- B) z# O
catch(e)' ^9 J4 v1 A1 A( X6 K1 \
{
( g8 {( {" }* P: K8 [ if(debug)) p2 N& x: X8 U3 M( e
{
- ?/ Y3 I2 Q1 V; s; G: d alert(e.message);
G0 Q7 p4 F, {; C' T+ { }
+ v2 S& \! i( e! J9 h) v, N+ t # T, e4 ]# M J b( Q+ l
return "200";8 e7 \2 `4 o A. ^
}
9 m' N$ t7 y: d6 T2 m }
; ?, H0 S; ?% o! s7 k( D6 V, I & P( u5 v: {: ^, _
this.RemoveHide=function(page,objname)
, C5 c. P% G* I0 D! R6 s9 H) R {
$ Y! y% x/ w- ~1 {* |4 S try
; b4 o. |% \4 n9 j {$ O" a' _; h4 G0 A8 c
var minValue=15;
5 }6 X* N4 @$ ^/ f var objs=page.getElementsByTagName(objname);
5 o0 R" _1 E) U+ q: u9 ^( R& [/ m# W& Z" k* |) o. k
if(objs.length == 0)
# \# H" h! Z4 ^ I+ M {6 g n* h4 F O9 P a: ?0 i9 S: M4 P
if(debug)
9 B) T. ~* a+ x$ ]5 T {' L# m+ P0 U" p" P
alert("no object found!:"+objname);; F/ Y; y0 u0 u$ k' x2 Q6 m8 g) H
}
6 a: s3 ?5 {1 T5 T* T# F5 K }
, U# l8 y0 ?# V/ l g else, e1 v$ a- Y- |' @' a9 d
{. r$ }/ |' `. t- R+ S
2 _1 ?2 o( Y9 s$ j1 q/ y% r. K
for(var i=objs.length-1;i>=0;i--) ( T# Z% b7 G+ g8 j* J2 L- }
{
& j$ h6 S8 o% m# V6 T5 v. G3 V var node=objs.item(i); & X3 U7 M* S: Z% e
8 t& `% z& |8 I( G {& ]% q& {3 ]
& o ?7 a" o8 ]0 d if(this.getobjstyle(node,"display") == "none" ||
9 T3 ^, h5 z7 G8 W) l this.getobjstyle(node,"visibility") =="hidden" ||3 f( W5 @* a/ r" D7 a0 P O" _
parseInt(this.getobjstyle(node,"font-size")) == 0) ( n5 O% e: ?- `) z l
{" |, p1 v- ~1 y! @
if(debug)
( C+ Q+ ~5 a( P& T# Y& P. i {# V) v. y w6 d1 N9 Y5 g8 g
alert("remove invisiable!");
9 I! ^' i+ S6 M2 j; T& V }0 d- e2 D4 {. w; y# P: A# @
node.parentNode.removeChild(node);$ U; v8 ~, H T: ?2 b
% }6 `. J( x$ M' W [, _ A: H: l }
7 o) V {0 y2 H, X" W/ N else ( T; r' T/ ?2 R5 k# m0 o
{# f; t: D: Z9 n4 p. |( y. H
if(node.parentNode) 9 q! l4 s% \! `! U8 w* a9 y. w8 B
{9 u/ K) \: y3 [* n/ z
var orgNode=node;2 f1 B8 P3 J- d( |- }% e# Q
var orgColor=this.getobjstyle(orgNode,"color"), z8 ]) D2 H: T+ Q. s
var orgRGB=getRGB(orgColor); 3 M0 Q1 b5 W/ @+ U$ Z
% S4 \1 W! ?5 @7 Y var parentNode=node.parentNode& ^5 H- l7 ^" t" F5 r+ j. _
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ {+ u" W, P5 j" x6 p" S
+ b; q) ]. \- q3 L6 h
var isLast=false;& e* w' A$ q+ T8 Y& m y
8 \/ ^6 O/ |2 T while(parentBgColor == "transparent")
9 m3 J$ B% J* b- D$ v0 e {
+ o* p- W8 ]7 ^4 {
# t2 ^5 d1 t) l2 h
( S- Q% A. L: z- A; G if(parentNode.parentNode == null)" \6 g k4 K, }
{
8 i+ \3 j# W% d; ^& f. D6 S/ {. m isLast=true;5 y( z( ^, S- p; m% \; W# ^
break;$ J2 D4 n$ @' z- A9 X& d
}8 J: i' v0 B2 H, v( {# k
parentNode=parentNode.parentNode;
# [( D j# B: z5 f5 D" | parentBgColor=this.getobjstyle(parentNode,"background-color");' _8 C3 M, P7 _( k0 t3 p
4 o7 ^& k. S3 H9 d4 K/ {( k
if(parentBgColor != "transparent") 6 q3 n+ {$ F1 W1 r
{6 l/ E4 w" M- D% y' f* B
break;
& B9 O5 P& c1 l }$ S, T, T `6 f8 Q8 Y
}
a7 d- l2 o D1 V2 ^ if(isLast) - m" G; J/ }- V1 O% I# `+ B
{ ?$ d+ c% l0 k& a5 W" x- b
if(debug)
5 C8 T% a% g# e- k4 r5 b! b {8 S( N$ w! v4 S
alert("last!!");5 p6 z3 O7 l- o+ [
}
1 }! V7 y5 L( X! C/ E1 w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). \6 C2 F" Z1 ?1 K/ ?# q
{% T+ K( `) O1 Q8 \
orgNode.parentNode.removeChild(orgNode); 3 F4 y/ H/ L5 ]4 ~% J8 r2 w0 `+ {
}
) O& a5 f% q. E% }2 T( ~! Q8 g }: x% c* i0 V/ |( s {3 i
else
% ] r# e' ^& H" @7 [ C6 D {4 W$ t, T& G1 }0 e9 c0 T
if(debug)/ D+ J& D8 x4 B
{9 q2 g$ `4 D3 t" O) r8 a
alert("compare color and parent bgcolor!");
+ K g0 z7 Q4 V4 W! | }
$ C0 T7 x9 {8 w& z1 G parentBgRGB=getRGB(parentBgColor);
# B- {& P& ?+ z$ S' f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* o9 S: e1 G- E9 C" }' T
{8 d/ O) x/ I$ C& I: x
orgNode.parentNode.removeChild(orgNode);
: u6 x5 y% B' f" A+ R. \ }; |6 g8 {9 W; C. u/ e% r0 _
}) h7 n0 q& ?3 X; _, X7 g! {, W
}
8 J% _! d6 u0 _ }
4 }* m4 L0 s9 s3 U; I4 P }
' o( b/ H, \, A' Q5 \ }0 M2 A# z B$ P0 c6 j: u5 N: ]
) b) D) y4 {+ I, Y2 t
7 I/ A9 P4 N! g7 C G# k5 k var itemFrames = page.getElementsByTagName("frame");' G S" L9 a- U- n- j0 l! ?+ Z
var itemiFrames = page.getElementsByTagName("iframe");( G: |" N6 C! f1 b- [! d
( F8 I& U1 t$ Q9 E0 d# z5 f+ [" S4 G! l
var frame, iframe;( `9 \/ `( N2 ?( q2 M
if (itemFrames.length > 0)0 K. C: O: T- x6 K" h$ v) _
{$ X# a3 M( Y- c+ C
for (var i = 0 ; i< itemFrames.length ; i++)
: g# B. X7 z+ U3 y1 U' E {
' u9 @" P# f& M6 x! w }0 H frame = itemFrames.contentDocument;4 [6 N$ N: s+ P2 V5 c
this.RemoveHide(frame,objname);
( E! V* {0 O8 ]# M8 w$ g' @( q Z8 ^ }
. w) ?7 s9 p( V+ [( T2 P- x }' ]5 ^# V) S4 z( A$ Q
if (itemiFrames.length > 0)
. Z( m6 ?2 L" x- u) }; \ {
6 `" W( `7 g: T. a7 z% r- [$ R for (var i = 0 ; i < itemiFrames.length ; i++) 8 S" `$ M( W( f9 t; ~7 D: y: k# o. y1 u
{
7 e. }- ^% p+ F, z1 E- S: ? iframe = itemiFrames.contentDocument;0 m2 }# k% G4 p# [; h' o& O3 V, S5 T
this.RemoveHide(iframe,objname);
9 J3 \& n# f/ W8 g: A } {* ?7 R7 G3 ~6 G. ]7 U" ?- r% s
}
$ Q0 s" t6 ^, K7 Q. S }& r7 T1 m' B& F/ }0 m
catch(e)
. X! b* P- c* s) Y9 n1 U0 l {
/ B# K7 G. J, V: {$ B if(debug)
2 i d' B: S! ?7 k) ~( e {0 @2 [- L1 e2 e `
alert(e.message);
) \. H5 R7 R/ W, L1 s4 ] }2 H/ A/ B/ ]8 Y5 p; w* m! u: h. J
}3 C) ^8 [) I, H
}
9 f- f( X9 y( p0 C, O
. c9 }: q$ t% C5 o: U+ P}
1 z b: n/ }% R C B- {. |8 Z* h; U8 q* P% K" C
function getRGB(colorString)" L x; v; @ S1 G( N. X1 Y& P
{: d# ? m5 c; Y/ P, s6 ~
var RGB = new Array;
- S2 d- |' m. `8 \/ f2 ]) M/ b( H2 O var tempSting=colorString.substring(4,colorString.length-1);- m8 w* D0 S9 h! z9 R0 t
var tempArray=tempSting.split(",");" `& x% S$ C% }( a
2 Y. t. b) S1 [- ^
RGB[0]=parseInt(tempArray[0]);
/ L1 E+ Z$ ~/ S* `7 r, I& N RGB[1]=parseInt(tempArray[1]);8 U# D3 k. ~; }$ A/ G: C# T
RGB[2]=parseInt(tempArray[2]);
% d, ^4 `! e9 q+ K
9 D# d% K1 k4 g, F. J5 g9 l) @ return RGB;
4 U3 A \: b) ]5 h}
! T6 I C( v3 Pfunction keys(evt) ; B+ B/ }! v9 x3 ]' }5 ]
{ 1 a+ J8 |4 i% u1 a, X8 j
if(evt.ctrlKey && evt.keyCode=="81") 2 g3 _& Z- d6 B) L; d) F
{
" g2 N: Z" Y9 q- g3 O9 y7 F CleanHideObj.on(0,1);+ |% U0 |( ~# M2 Z2 W+ C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 z. q0 A2 |+ t
: ^. ~7 E9 ~; R \5 i7 ^ }
" P: }0 |6 o' N* M& i5 t }
5 y' y. G, ?8 p" K( q% a! A. Ldocument.addEventListener('keydown', keys, false); 1 Z* H, Q/ @9 R& i& x( |
GM_registerMenuCommand ('Clean Hide',
/ T- I- i/ u P G, @1 _/ K6 l Efunction(e){/ ]/ b* r% M2 c1 W4 [6 h
CleanHideObj.on(0,1)4 C" D0 z5 i3 @8 L9 Q( I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! K$ J3 i I4 Y1 `" I}); W- l6 n3 l' ]
|
评分
-
查看全部评分
|