|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- [7 L8 e0 [, A% g0 y& B9 C9 v% ?' L
! I+ @4 F/ s; B- S' @% e火狐插件,用猴子
+ o: X. j6 z! T, ?* S" m+ N& }1 ]# g3 t1 Q( q' e6 w- R$ C
var debug=false;
/ S! s, N9 L2 g4 }1 Gvar CleanHideObj=new CleanHideClass();0 n' x6 ]* u! o
) O% e* v7 n' n) p% e$ {9 n
function CleanHideClass() & W1 }1 @5 {+ k y/ k+ s
{ 7 H% ]. w+ {% s/ Z& ]7 a
+ G* {0 d8 ~) c! x% r2 P
this.on=function(id,bMZ)4 t* a- W! j+ C" a+ d+ ^5 h
{
2 c2 G) j; c* D, d $ w- V1 v- n( k" a- R3 X
if(id == 0)6 O9 O. @9 v: L
{% a1 ^7 |! ^1 Z5 O
var page=/* document.getElementById("content").contentDocument */document; 0 L" E# d9 Q9 w+ n- D
this.RemoveHide(page,"span"); g5 B/ p0 L, Z4 K! h7 b
this.RemoveHide(page,"font");
! I& |, U# W$ `. N5 ~( T* G: x this.RemoveHide(page,"div");
& ~, U1 p. P& R8 z# u5 D6 X0 k J this.RemoveHide(page,"p");
9 M8 }9 K$ o2 {- s( O5 ~8 \6 s 5 @& N! @; a' r$ g* \
}
6 y7 k( I1 `2 h6 I1 [8 P+ h
% E" Z( B0 M1 N' Y2 B- M0 b+ X }! w3 P2 v# Z/ B- u; I6 W
this.getobjstyle=function(node,prop)6 X: t5 Y3 t. L0 l
{
* f6 M' o. P3 B4 {: Y9 h try
& n" t5 h. Q9 h: t& s {: n/ ?/ Z1 J2 v: ~, }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
e5 [% B$ U0 p7 U( T3 U }; k, d9 `+ r7 P
catch(e)8 I0 s+ }4 T8 ^" K% w/ W( Q8 k8 j
{4 \! M% l6 T! x! n3 p/ X
if(debug)
, z% r) r6 p W& o5 p/ A2 Z {
+ g/ H; U4 E# o$ {4 b# z alert(e.message);! J: j+ E# C+ G! g% l. }
}
. e! i3 b' m* s. L0 {- Q' ?. Z
. B' z0 I2 W' z6 Z0 S5 o return "200";
: p' i" @7 y1 D- H }! G$ I( u; @# C- s& O
} E, ^, g+ f# N+ j- z" ~4 B
* S+ V9 n* C! o/ G8 ]
this.RemoveHide=function(page,objname)
- x( I( y* f3 E6 r {) O. o( U# D3 r! ^- T# L4 T
try
. d* V/ P5 K: t7 Z! \: N {
! ^" W( s* }3 S3 d var minValue=15;
8 @/ V6 S3 _7 G4 j4 E% k var objs=page.getElementsByTagName(objname); - B' a2 v7 y9 o, Q4 k
1 ^3 p; D7 N- |# q if(objs.length == 0)
; h/ j$ w3 a$ ~% b6 u) | {2 i0 k2 C* B2 R/ M* y
if(debug)
; @7 _4 v" @1 G' T6 [% B {" N5 H2 ]& ^( y0 O5 u, `* A( ~
alert("no object found!:"+objname);8 ~2 F0 T4 B- i3 F. c
}) I V! r1 Z6 T+ Y) G- f2 m' |
}
0 B/ i$ J* E! R$ j" d else0 w) Q6 M4 y# S2 j0 w7 c r
{* O! d3 t( `0 F1 H
* m" p' D. ]9 b$ F& ]9 x
for(var i=objs.length-1;i>=0;i--)
' F, V. s8 U2 B0 Q5 m; \ {
% W7 V8 @) T l g6 G" h8 h& n2 T V var node=objs.item(i); ; @( q6 u) h- m% x* c# i' w/ |
$ Y7 S" | c# A1 m: Z
[, b3 Z9 F7 [5 ^$ P+ u6 j if(this.getobjstyle(node,"display") == "none" ||5 t' a/ v ?. h5 p2 @ K
this.getobjstyle(node,"visibility") =="hidden" ||* ?4 s4 i' W' {) Y4 n9 h S
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 r0 a f7 R; b% s3 j {5 [) A% k0 @0 A/ X- r5 L0 ?% S
if(debug)7 ]6 O- m, c+ }+ b8 c5 _! ^
{
! `$ s* w% U! }/ ` alert("remove invisiable!");
7 G2 N( ~% Y* o' ^0 P$ @7 u, u }. o+ V9 K; O( }
node.parentNode.removeChild(node);% A1 o& s; k! M* I, ^6 M
z& G6 u# b) q; G }+ m! A2 Q1 Q, o7 d \. |' A: M% z
else
& n" S, p" j7 V3 ?( z& } {
; v: d9 `1 q& Q9 w9 F if(node.parentNode) 7 M. k! ]. K$ ^& ~& a5 {* k+ D- w
{8 C5 C: Q3 T5 w, _9 B! O+ |2 B7 ^
var orgNode=node;
% H0 o7 D7 q: s. n9 o# m var orgColor=this.getobjstyle(orgNode,"color")
9 {- F; x' N% {8 a: e: q0 f* W9 p var orgRGB=getRGB(orgColor);
6 w5 N! [5 Q$ _2 k 5 I- H( \! R/ k
var parentNode=node.parentNode# q( I6 }. ~% p+ z9 d b$ I# ~* Q7 c
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" z* j# {7 V8 V; x
& I' I3 W O* E4 s. B* q" [# w; Y var isLast=false;
/ _% h. x! g6 Q# C 4 o# M) J R3 O- `) I) `! ]
while(parentBgColor == "transparent") 6 {4 S8 l( X; o u! I5 l
{
" d% Z, n+ q: W L! Y ! e( U3 q9 u2 ?" @5 C
6 L$ V5 N: j( W- f1 K- e3 [0 H* G
if(parentNode.parentNode == null)5 b' H! Z4 t4 ?- H& y: p H, \. P0 m! T
{
2 K$ c8 g' Z5 Q, c isLast=true;
# V. e- z, D# q }4 K break;7 H L$ B+ V# B$ `
}% {" ]" }$ O) @( e! s
parentNode=parentNode.parentNode;
9 T/ J W3 o: @) L9 I& l parentBgColor=this.getobjstyle(parentNode,"background-color");
4 f& W7 j2 J8 ? H- l9 l& a+ K% c5 g# H* Q
if(parentBgColor != "transparent")
% ^' B( w0 l8 C. G9 D. ]0 U- G) i {: p8 K/ m* p8 m' b- w. L, S- c0 Q3 f
break;" _! g3 a; ~7 q. L" p* X
}, s# w4 D0 R, i6 j3 O r8 |. t/ h
}& { v3 J! l0 ?4 l' {
if(isLast)
2 u$ I+ h8 H& j) E {: w6 h- ~" k6 x8 Q6 C
if(debug)8 Z0 x( C# h" R% b8 b& {4 ?
{
m X4 f) I+ V8 f5 i alert("last!!");( p+ K6 K. }6 H, k9 y
}# }7 P& g# {6 M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 X3 \4 U! ~' { G: P
{5 R/ c6 }6 o* Q4 q) e4 ~9 ]7 U( c
orgNode.parentNode.removeChild(orgNode); 9 v8 d' N, V8 e$ r
}& L6 t# @, S0 y$ r+ x. E
} R' g( r4 A' W
else
; ]* a8 ]5 Y$ ?1 w" i0 Y1 J {) N3 j$ i6 C/ j$ T
if(debug)/ S. Y' `. X: l8 F6 t
{
$ ^/ f9 M8 V2 O. _7 _ alert("compare color and parent bgcolor!");$ h* w; k0 R# |% E; `
}; Z9 P/ B% G3 y
parentBgRGB=getRGB(parentBgColor);
2 N8 m: v! I( Y8 y! T" G if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! U% d1 Y# K9 `) N) |! O. U {
7 I7 @. ?! r1 E) h( d! K. J8 ? orgNode.parentNode.removeChild(orgNode);
% [9 P9 a! @/ a' [* M4 b7 e }& R( Z0 t" i4 @ j1 P) V
}
8 G1 d# |* K1 t. b. P }
6 ~8 n; S/ C* A% G) j2 x }( g. l) w" Q3 I9 y4 Z" S5 \ O# H
}2 X7 O0 n" |% }! `4 j' `6 c0 C. i
}. ~- b/ e, K. C, Y# }- t9 O: B a
2 _1 k! S4 w1 V8 i( {% i
, S/ I4 H, O0 H* U b! q var itemFrames = page.getElementsByTagName("frame");
6 x+ B \& D5 | var itemiFrames = page.getElementsByTagName("iframe");1 u& s8 P& P! {- ]. P
, h) } `0 J. D7 {, E7 Y1 q4 F/ B var frame, iframe;
: x: l- Q' C0 } if (itemFrames.length > 0)
' l4 {; i0 M4 y+ v! Q8 k2 x {( ~, i' N3 p; j
for (var i = 0 ; i< itemFrames.length ; i++) * J+ x0 g: J: W
{% O1 Q3 E5 d o0 u& ^& n: y4 _
frame = itemFrames.contentDocument;
2 O5 d6 C5 C: ]% W this.RemoveHide(frame,objname); 7 G8 ~: k5 d- [2 V7 N9 K
}; [# g5 _# j* \2 k7 P
}3 ?; U" D+ ^1 T: q4 s
if (itemiFrames.length > 0)
0 q/ o6 G- q b2 k* Z {# _+ s5 @3 L% `0 ]0 \- d; G
for (var i = 0 ; i < itemiFrames.length ; i++)
8 ~; @0 G3 C) k9 r8 x0 b7 { {
3 e1 C. c; J$ `, M8 Y6 E iframe = itemiFrames.contentDocument;
( ^, X% m, U% |+ ~8 Z8 ` this.RemoveHide(iframe,objname);
k9 k6 P+ ?9 E! @, a }3 Z% o& j& ~3 Z( d
}: W& p2 e$ U0 x3 o: y
}
1 u+ U r6 _. a3 h6 r catch(e)+ C: u! w7 a1 V& I* J5 p3 G
{8 b( ?8 T9 K9 S/ s4 P' _
if(debug)
2 B; W/ Q4 o: C& s2 h {
, I1 f! P J. t7 O alert(e.message);
9 G4 ?0 U) b2 v6 c, C }
5 S7 F) c: e: z2 k( I }
, W/ E% S- L0 j5 M }' h' r% F* c7 a3 Q( ~
( y. ^2 M5 ?$ A}( M9 c4 W" Z. U; V9 j
y' w* H: R/ E2 u# K
function getRGB(colorString)# ~- Q$ _+ Y9 a
{
! K3 w" r7 g' k* d$ q2 { var RGB = new Array;
# C* [ \7 B1 i& A3 S Z, N var tempSting=colorString.substring(4,colorString.length-1);
6 ` I/ c! T1 j/ w. B0 W8 r* N4 Q4 s9 c* @ var tempArray=tempSting.split(",");- I6 l9 K+ ?5 G0 ~3 y1 X U
+ D: n9 s5 f' F$ g RGB[0]=parseInt(tempArray[0]);
: J3 L8 }, ~; k/ f+ M$ i RGB[1]=parseInt(tempArray[1]);
4 ` }3 i4 i) A6 [8 r& E RGB[2]=parseInt(tempArray[2]);6 n: j- d& l. H$ b% u
" ^ g d, b" v7 @
return RGB;
8 K6 Y A6 U2 N/ }+ `}5 R4 k! C1 n" {. B9 G7 A
function keys(evt) ( ]) c8 H X; ~3 |
{ $ c1 r. `+ R& D# Y
if(evt.ctrlKey && evt.keyCode=="81") " |+ @# J+ [2 C3 b! ~ w
{
6 {. U% q3 K; J ~) B9 U4 r, ~ CleanHideObj.on(0,1);
3 S9 `' ?: }: i) z2 j; a" f* k" B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ^" l7 F, W$ X& s# T7 A+ G
1 Z3 k# c T1 t } 5 C9 y( i3 M: S
}
6 f1 m' @$ P0 t6 i' z& ]document.addEventListener('keydown', keys, false);
; D( Y' w& z* d) W4 kGM_registerMenuCommand ('Clean Hide',/ J0 p+ `* _8 j$ {
function(e){0 m. p; w. [5 i/ e
CleanHideObj.on(0,1)
4 Z4 W; b5 [7 K" [' f7 Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 h( b' G/ d5 b9 c/ r});" g1 P0 L$ W7 _8 m- S5 b- y& q
|
评分
-
查看全部评分
|