|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 R8 g8 A% R. |
$ C& } S2 ~0 G5 A8 f2 A- V9 f t& O
火狐插件,用猴子' R5 |+ B# u% W
/ ?% D) S- y; Y& B; G
var debug=false; 1 m3 k6 i1 y* K5 K {1 N
var CleanHideObj=new CleanHideClass();
( ^8 q5 }/ [/ E! a, x7 ^
) V" P! G. h, |% {4 L: E+ xfunction CleanHideClass() - p* f m( j5 X& Y" W
{
3 A& E0 R( i K8 N# F; m$ o. q 4 ^7 {; w# t- m7 b
this.on=function(id,bMZ)
! A& Q* ? \* u. @' `0 k7 X4 r {& C' o9 J8 F8 d+ j, k
) {* Y8 o, q3 L+ F
if(id == 0)
& c4 [. c# J1 u+ n$ y2 r! j) E {! k$ Z( Q; x# e) u( |! m+ [
var page=/* document.getElementById("content").contentDocument */document;
( F* H* h; ^8 f+ y+ ^ K this.RemoveHide(page,"span");9 a/ `7 c# l0 }& l0 A" l- ^; v
this.RemoveHide(page,"font");- I( K! k$ I2 S0 g- `/ u. g `
this.RemoveHide(page,"div");
4 K1 N! ] T& V8 v( `4 i" h this.RemoveHide(page,"p");! ?1 d: R1 V8 i* D- c9 K# l
' p! b; D4 t( K( S# z }
+ H1 K6 b& `0 t9 W, A * }, e- a8 P& C# b0 k5 l
}
+ w: E, C6 @; n( E! ] this.getobjstyle=function(node,prop)
9 U. \6 T5 X9 O9 J {- e. D$ _& M8 T7 {( X! A6 g7 n
try
4 W3 i. y: i) A" V3 l1 \ {
7 x0 I2 {6 c1 U. X/ T% w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ {' m9 M. s p9 N0 ^. O/ u }8 g# Y* ^1 ^0 ]& J2 X L: J- q
catch(e)4 [! U0 w$ ?1 h. c
{
4 W Q1 X' ~1 i1 f if(debug)
s; C* A8 d5 L0 P7 y* X {, z- A8 T5 m" d3 ]1 p" F; O
alert(e.message);
& ?1 ?; j) q2 K; q1 m }
) H% c/ x1 x# g, @ a! F 8 g% V+ x9 m# d+ ~
return "200";" Q, |, E H2 K
}6 F( F% I- r% k" P# R& Q
}
6 O: d/ ~7 J9 p9 W6 |9 z, G0 y
7 t5 t! E& N0 N0 i2 | this.RemoveHide=function(page,objname)% D! S! n: U% I$ u$ t
{- n6 `. M; t1 p) S
try
( {9 b* I9 u7 l" V {
5 z" Z X. E4 x; M1 j# F9 Q% ` var minValue=15;
1 O! |1 C2 M9 |1 k5 l var objs=page.getElementsByTagName(objname);
8 m: d. ]! S3 M$ h! |0 U& i
, ^! E: \/ B+ t& n+ C2 ~ if(objs.length == 0) 5 H( G8 c' t' d4 g
{' z% d* ~9 k/ X0 f& ~
if(debug)
. _' h( I' O9 A% l: h {
$ a$ h' p1 Q# _$ p: k3 f9 E alert("no object found!:"+objname);
5 r; _$ Q* g3 y7 S& X9 A) x- P }1 q) a% K/ W, N1 A5 L" M; I: [
}* K: |* S0 P. A; H5 `9 y* k( o
else# s' y4 A, F/ b6 f% m+ ?' E$ l' o
{
, [8 S! q& E; P' G( v* w % z" `, x L' X5 k) O, ?
for(var i=objs.length-1;i>=0;i--) 1 j# S) w4 U9 g( t- T
{
( L. Z0 @. I% r- l) m# x; g var node=objs.item(i); 8 O1 d! s! V7 T& ~
1 g$ [9 x8 _: G4 D
- b3 v3 ^. f% {; f7 w( | if(this.getobjstyle(node,"display") == "none" ||- t1 K/ n8 K) L" B, z9 E' k$ ^
this.getobjstyle(node,"visibility") =="hidden" ||7 I4 E, {; Y: Q
parseInt(this.getobjstyle(node,"font-size")) == 0)
# C- {/ B, A3 g5 c1 X7 [9 E {7 p3 G) g4 |, H
if(debug)
1 R! ` f9 e& }" L3 ~: u6 c4 ~8 q {
6 R6 y. F; }% Z+ P alert("remove invisiable!");
: u$ W0 X$ C g }1 w6 H; k! W/ o
node.parentNode.removeChild(node);+ A6 O: g# @, z9 y c0 Z
- }$ x; \- Z3 `2 K }0 N! V$ j( P: Y3 F% ^0 e6 ~
else $ h* a, Z/ [& P% s
{
, H4 }- @6 w/ M% |7 _ if(node.parentNode)
7 S) S% R7 U+ w* f9 ?) Y' p3 | {
2 S6 X+ \, F0 _& s0 o% Q9 C1 E" u var orgNode=node;2 z7 K( Q8 \, m2 K; R! C' A
var orgColor=this.getobjstyle(orgNode,"color")
/ n0 b! O. B, ]% A/ E/ F% \1 }4 o9 E3 c var orgRGB=getRGB(orgColor); 6 `$ m Y" a2 \# A6 A0 d
' M E7 `5 G w6 F; G+ G
var parentNode=node.parentNode
6 d8 l8 C% B6 v+ s+ u; { var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ N. N3 ?0 i! U# i 3 L* P! y3 t- h! c
var isLast=false;3 l. }) n% N: ?7 z, G& j* y! i
9 L( D* A& G8 V/ `. z! F9 P while(parentBgColor == "transparent") 2 \ Y% `$ d, H
{
9 b3 K! I2 K1 ]- d& h1 o/ l
# R6 I6 A) T( q. o e0 z9 a) m
0 S5 f# S. h2 S3 w if(parentNode.parentNode == null)9 a4 F8 t: l. D I
{4 z0 B Y& Z8 S2 ~5 {' C
isLast=true;
* T3 g: S% X1 k6 ^ break;
3 s- E# b/ \3 b. Z' @ }# q" B; ]2 J. D4 Z( j" y
parentNode=parentNode.parentNode;! H5 t, F5 L# Y+ F3 j: `
parentBgColor=this.getobjstyle(parentNode,"background-color");
* K4 v5 d2 r; }4 [4 j
6 m0 C7 m, ~: Q0 l if(parentBgColor != "transparent") + w% J& B3 M9 ]
{$ p5 Y. {1 s4 z" L1 x4 z
break;
8 T% [) V5 R0 ]3 O }- j( i6 W) H8 b1 \2 e
}4 G3 X, M( _ Z- P$ q- O
if(isLast) : q5 J- g3 [1 b1 u5 g" ?$ P0 r
{) _- U _$ D5 M% p, R: J! P! B
if(debug)6 c; R6 N7 k& P R4 e5 Q8 V
{
' t9 y0 J; b% K alert("last!!");9 g' y6 e. l0 @) P2 f4 E
}7 M# y, r! X7 N g) d( m) x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! v! K0 R. Y; N J Y {
6 K# t% i/ V; z7 t( q8 f2 _ orgNode.parentNode.removeChild(orgNode);
! i3 ^$ x; `; ~+ ]& W1 @ }% I4 [# |% m! R& e5 h$ v$ J# o% U
}
$ |8 p0 Q$ ?# n( n+ b$ A* r; F else
% @: D5 M7 ?& R8 o( l {' u% X/ q. ^4 O& i, D' k- h3 D- j
if(debug), ]0 @5 J" X1 F5 |: a
{
2 k9 p2 g2 z, @4 Q alert("compare color and parent bgcolor!");
! R E" E* u$ x, F _& b }
" p, _1 x+ Z9 @7 p! t3 P parentBgRGB=getRGB(parentBgColor);0 Y+ u) ?) [% T/ E) I# [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 u. w( H& z) `7 X9 Q3 Y+ ^
{
* H# K! W' S V- c K' `, t* O orgNode.parentNode.removeChild(orgNode);
% U& _( R1 m3 ]+ c }
9 q& R! U% S. P* S0 b$ p' ? }
! T, Z% d; F3 I' D }
6 R n7 `, s! `/ ~! E/ w }) X7 s2 i0 U/ U# r+ M( J
}9 a5 o7 A! H' {; Q7 }- P* g8 T0 v. F
}
* W% x1 O" p% A2 a; Z; }0 Y
7 K! g) s( c% D: Z0 z, a6 c
' h; l" }+ M9 p5 v var itemFrames = page.getElementsByTagName("frame");
( F+ W9 R, g C5 V6 w var itemiFrames = page.getElementsByTagName("iframe");
3 ~. _5 q. |3 f+ E4 }- e
6 K' v% g0 ~( L: E var frame, iframe;
0 Z4 O1 g2 F7 [) w* E3 O if (itemFrames.length > 0)
8 Q7 {; a; \ S: {* a {
* K/ i3 I8 J; T1 s: @3 { for (var i = 0 ; i< itemFrames.length ; i++) $ l5 A: v+ _+ c* m9 S
{; X8 a' P% ?" d5 ~0 I4 C, v
frame = itemFrames.contentDocument;3 B6 ?4 S- X& J( Y- b
this.RemoveHide(frame,objname); ! ?0 ?6 ]# ?6 b: C, n
}
- E+ P2 M* C0 T# _# w' K }( y0 Q& |: O- E
if (itemiFrames.length > 0)( V2 ]# L0 c7 f8 W0 B4 o
{/ i1 V& z0 ^9 ~& `. G
for (var i = 0 ; i < itemiFrames.length ; i++) 0 y1 R O+ v, O" Z# p& h- x
{+ A' ^1 X0 |( j/ L3 y N
iframe = itemiFrames.contentDocument;4 R! `" b, j+ X
this.RemoveHide(iframe,objname);
2 a6 \$ w. s- ~3 P }
" ^# l/ D+ ~0 S8 L2 A }& {; c w. I$ w6 U8 O. _
}
+ D c+ o' P2 u( u; S) p catch(e)$ {8 F0 Y5 u, W# a4 _- E; S5 z
{
3 r- J2 D1 K, X* m& d) Y if(debug)
L4 F0 c" R" G/ D' }- D7 a {
9 C3 ^! _4 d$ Y- s- K5 [) \' g, j alert(e.message);! K$ W3 ^) [2 v
}
s) a! s$ A2 v' }8 @ } J; @, V0 p0 q' [- x5 h
}
. D- v" d( {! P
9 ]% w/ q9 o$ a! i}
. B! M. c4 P5 a" v* k9 S u
) D4 H" j- o9 g% e6 s" vfunction getRGB(colorString)1 z( G: b0 M- q0 o# [0 u
{
) x2 i; e5 i+ w: V y! w* z var RGB = new Array;# |- B Y9 \, t
var tempSting=colorString.substring(4,colorString.length-1);
e$ k! G" h/ Z. G( [4 U+ z var tempArray=tempSting.split(",");6 B1 J$ t$ U* @( ~5 \. |
) f9 T6 F! Z- Q. i* U$ p1 p
RGB[0]=parseInt(tempArray[0]);
8 r z' e( O# i+ n o/ k6 A1 g RGB[1]=parseInt(tempArray[1]);
) J5 Q# m5 w" ?' k4 ^ RGB[2]=parseInt(tempArray[2]);
, D+ i6 e- N2 u" \/ R
$ C4 `. s J6 e: S! T5 J$ w( r1 U' o return RGB;1 W& T5 O) S$ ~5 I6 a9 T
}/ R/ V$ ~) W( |' B3 w( e
function keys(evt)
" C3 s' T l/ u; `" f { 7 s# A# d) h5 j. P9 o
if(evt.ctrlKey && evt.keyCode=="81") B4 t* @' o/ v' I! u* e" z+ W k
{ 0 r: _% r* A' w2 n. Z* k" M& z
CleanHideObj.on(0,1);$ ^3 Q5 y' B$ s+ S( v) F# Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * k5 G) |: u( A8 @2 h
% a4 O3 n( T z- M0 x' n9 F
}
5 g" Y1 p# n" F( m& R0 A. T, k } , G) w- K( @0 I
document.addEventListener('keydown', keys, false); ! r) | h) T' B5 I: T( z/ `$ b
GM_registerMenuCommand ('Clean Hide',
7 y; t5 i' G$ w$ s$ H: U1 y: a! qfunction(e){4 s8 C1 u# M1 ]! i6 r7 v$ n$ K
CleanHideObj.on(0,1)
7 D! R3 F- G! d- Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 G: E& E9 o, u! _% h/ ^ W
});/ r9 P( v6 ]! A, j
|
评分
-
查看全部评分
|