|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 Q0 ~% u6 m, }1 k7 a [. I" L* }: H/ W% h% v1 z6 W) p
火狐插件,用猴子8 Z: y4 u6 Q4 E
% e' m0 s; ^0 o. q% e5 \/ I+ m
var debug=false; $ C; x: y( p5 k2 L
var CleanHideObj=new CleanHideClass(); p% J1 A- ]1 a/ s- l6 T1 Y6 Z* q
6 y- Y. J: j1 ^: b3 \ {+ M, q
function CleanHideClass()
! Z# F8 ~: w$ z, a3 Y$ P{ # x. ^& l2 I9 n, u3 A
$ @0 v# n- N, }: i! L
this.on=function(id,bMZ)
8 G. e8 K3 Y$ N0 m {; e( k) O% J" e7 G: M4 b
# w* I( C8 D/ J# l
if(id == 0)* |/ F3 B8 f' Y
{
( W4 M. c7 f2 s$ E4 e9 ^; C var page=/* document.getElementById("content").contentDocument */document;
4 e4 ?( L8 Q) a6 ?+ g5 G$ l& W( \ this.RemoveHide(page,"span");3 b7 Q# \( y2 }) ^0 j" W
this.RemoveHide(page,"font");5 y) Q, C% L. j5 D5 N
this.RemoveHide(page,"div");! g( H0 Z* r( B, ^
this.RemoveHide(page,"p");
0 E1 v! B: v3 r8 x" V* w
7 e$ t8 g! g: F# j- d! R- @* Y }
2 s: X" e7 D+ L' ]( l6 O8 c 7 r' e3 m4 P* O1 m& [
}, w9 r, k; _/ \2 d& e5 W7 f
this.getobjstyle=function(node,prop)
1 |. @# d3 {( S6 I, D {3 q5 h3 V+ A$ {4 |
try- Z& |4 {7 [ r2 i+ R
{
, K ?5 h) O: }9 `$ A1 K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); P. a# k7 c6 ^" I9 Z
}9 d6 S/ n8 t: u2 }
catch(e)- u2 U! X( z. `& b& A
{3 `9 D& L+ F; w, w$ I
if(debug)
- S1 i/ J- x: x' `# u) O+ y+ K {1 N4 N% W# |9 Y5 Z! F3 _9 M
alert(e.message);; r: e Q. C Z, m
}8 A2 p. U( F3 w; t
. p p# W( n; ?- ` return "200";
' t& r/ r# v* }1 ^ }' E4 I g2 Z8 G5 y. u- N
}8 o( |2 @+ ?' \$ `& Z- i) u
7 q* U# L- C( h" g( n this.RemoveHide=function(page,objname)
9 a! s5 r& I3 O3 A {
0 _7 y z0 `! a7 W3 B3 F try0 y' A$ ^4 t; C1 U ?& k, @) l
{
# `/ q% E9 S# K var minValue=15;
. w/ b9 j% [+ E2 T var objs=page.getElementsByTagName(objname);
8 O+ r, d+ N, |
% a! p k! y& a( ]# n$ K if(objs.length == 0) + h, {6 F4 z# {
{
! o* {: Z. N* v if(debug)
' E7 |6 u t$ a" _ T {
2 U, X- k* ] z7 Q alert("no object found!:"+objname);. e' ^/ t& A, P: \+ |3 D ?& u' j+ U6 \
}, S3 Y3 f3 V) Y9 t- g2 ?6 ~
}
: b3 |1 i0 C' x: B else
1 W7 e) A5 Z6 G8 h Z {( r3 {& Q- |8 @8 p4 X2 @8 T
) c5 l4 I, U1 G1 G( u$ R7 P; t
for(var i=objs.length-1;i>=0;i--) - T. P$ s) A* L7 P, N; a' K9 M
{
6 z* e! ~/ v5 m- B% Q' T/ ~5 ~ var node=objs.item(i);
2 r |7 D; A9 n' Z/ v0 v' \. r N . c' b& a2 B- C" v4 _
4 M( b$ z5 m _; L) n
if(this.getobjstyle(node,"display") == "none" ||
# C# m, p+ C2 ? this.getobjstyle(node,"visibility") =="hidden" ||
" b1 f# m8 k+ v" `4 Q parseInt(this.getobjstyle(node,"font-size")) == 0) 0 z+ {6 g5 C, i8 X$ m6 C
{5 y. N& k# y& q
if(debug)
/ A( y& P w3 v. y, B0 Q1 Q {! `1 U* `$ x/ p7 s5 b
alert("remove invisiable!");+ {) w5 a0 W! `
}4 c2 h2 @* l; \1 `; k
node.parentNode.removeChild(node);- ~2 A/ w2 X9 N9 q% m. B% }
9 z$ P u+ b; x% ~6 m }& |2 L, L8 F% [; l* f. H5 o! e
else $ K& F! C" u. e: n* v
{
. N7 \* Q o3 h1 s, q if(node.parentNode) 6 p* e7 N- k o* i
{) m3 ^# d* J* f$ f4 r
var orgNode=node;
5 L. x p) {! t0 g/ r* Y0 s var orgColor=this.getobjstyle(orgNode,"color")% M& q" A8 ^& U
var orgRGB=getRGB(orgColor); % ~, K' z7 N) J0 V4 n
6 R, E+ f- M" ~( P+ |
var parentNode=node.parentNode
8 ]: u. t8 p0 j4 }( d var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ E! T# H3 ]2 S3 G T, V
4 ^; [7 e$ F- ~/ r var isLast=false;
$ L& q7 d# N) e! C" B( h: ^
9 z9 B' J6 \( | while(parentBgColor == "transparent")
* e6 \2 P% f1 X. S# K9 @- f {2 s" x. H8 @9 f8 Y- L# k: I" n
+ x# u) I2 b i ?6 O1 m& h ' I( D- t8 `, a5 S1 y6 `6 h
if(parentNode.parentNode == null)
4 B- A. ]7 U# r' c) n \/ _ {) }. h; F7 t- f* i% \ k
isLast=true;
8 p% r2 \/ d% {3 \; d% h break;
0 D, v% P+ U; k& `; c }
) q: L( P' H7 F parentNode=parentNode.parentNode;
; _( _! A! f; N4 L+ m9 k: p- ~" l parentBgColor=this.getobjstyle(parentNode,"background-color");
! K @% ?3 m/ Q+ w
3 l7 A: ~" }4 g& k: ] if(parentBgColor != "transparent") - H2 ^. H) L, T
{9 L0 ~8 o5 x6 O1 K9 o7 m
break;, k% z& I! X3 a+ x% z
}
! u* k+ z+ p; a2 ` }; } O6 d. [2 O, x6 m
if(isLast) / p7 N4 K- w d. t' ?8 a
{
$ F( e6 F# E. T3 u1 E if(debug)
' `) B6 h: A0 m* f; Y* [/ A0 P {
3 K: r3 M: k0 N4 \. _: O alert("last!!");
' l9 j" D# ?! K ~ }, X7 J% Y( W/ y4 [8 Y$ ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ ?: T- g! Y3 v5 k {
7 x1 d1 y- T5 E2 M3 ^0 \ orgNode.parentNode.removeChild(orgNode); , D, S4 M" ^$ a& }7 N t
}/ _0 L- F0 h' e7 U
}
. u- y* o0 l2 G* v0 @ else% M- J2 L$ `0 e7 `% ]
{( S& j7 n* K# ^ \
if(debug)/ o- u# Q! x' ^; i) h7 R) a
{
# R" w4 K- ^# G: ^( E- L6 g, n alert("compare color and parent bgcolor!");
/ o0 A+ M( ]8 N9 ]6 N& o }1 U- F: l5 ?7 @' R0 u( B
parentBgRGB=getRGB(parentBgColor);, F ~& V1 v+ d! ]( n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& U. I l7 U2 L% E5 r8 v
{3 \/ n7 d! y+ G* N
orgNode.parentNode.removeChild(orgNode);
, N+ i- p7 m, k3 @/ Q }
6 E) h" A- ^3 v" v8 e }
. s1 C2 N$ k; d3 R- y" R& f }
5 I* d2 p4 `. s1 u }
2 c3 J. N" ^$ T/ D }6 `2 @) H9 a7 O! v9 O7 H
}
. |) i6 R) q' B
5 v: d$ f+ a! x$ n C# h % P/ F# t+ v" A" z" }1 G
var itemFrames = page.getElementsByTagName("frame");, @! n3 D% c- n2 y; n, N O
var itemiFrames = page.getElementsByTagName("iframe");
6 W% q) k* r, Y
' \0 |1 d$ `9 P2 P5 ^. ?; B var frame, iframe;- V5 N* W, T- z$ V% S) i l7 v7 J
if (itemFrames.length > 0)
, l# z' i! ^2 }1 n5 D% ^& m- X {
4 M+ H+ W' ^ X* d' c* [6 z& o( |- t for (var i = 0 ; i< itemFrames.length ; i++)
! }- ?9 m3 Q- L* Z3 N {
4 v& B5 ]& O; R frame = itemFrames.contentDocument;
) r% R9 E+ e5 J- U- i1 @" T$ \# r- ` this.RemoveHide(frame,objname);
2 h# _8 M% O6 \$ J4 E+ C6 V }
3 n5 c5 l n: v" e( e }( D; y( M/ }2 o* q+ }$ p8 L
if (itemiFrames.length > 0)2 l/ W, @5 v$ {; P0 G5 W, ~
{3 k' y' D/ m! q8 z$ U0 f& K
for (var i = 0 ; i < itemiFrames.length ; i++) : k+ s! n$ l; w- b5 C
{
2 n& ]( G7 d' \2 J/ \1 O0 w* F3 K iframe = itemiFrames.contentDocument;
, Z/ w% {; M) x# C# \5 [4 c! m this.RemoveHide(iframe,objname); % k# l3 n! e& i% f' f) p
}
* c3 Y! G% K Q, z5 L; b" v$ U( u }2 {4 p/ |% w0 x4 ?
}, ?3 I2 [+ o8 x* k& r" I# I K
catch(e). w/ T- |7 X. z/ f7 e8 m
{3 N1 _( d0 D& ^4 \
if(debug)
1 T+ Y: H' M, |, f {
! }- g1 r) y% R9 [ alert(e.message);
1 q# Q, C5 @$ B9 c/ _( M }7 N1 e; C o* x8 P: [
}2 d% Q( z0 @' @4 r
}
4 v# O/ [9 T. P4 X+ i
( D: E" n( z" a* P7 Y1 r9 k( N}4 v7 r0 X* s2 K& V
7 x9 z, D( K1 K0 @
function getRGB(colorString)
) X; M/ t, F9 G9 [4 l{7 T% g7 O9 u* [% t2 e. b( y5 O1 V: ~
var RGB = new Array;8 X7 J. X p4 G
var tempSting=colorString.substring(4,colorString.length-1);1 c0 J4 ~- U- i6 I: Q
var tempArray=tempSting.split(",");
5 n2 l Z. V. E7 ~6 E0 R P' E
* k- N1 {1 Q0 l+ c) @* E k3 D RGB[0]=parseInt(tempArray[0]);/ i7 q) r4 b- E4 j/ Z* l' Q
RGB[1]=parseInt(tempArray[1]);
9 m& t! v" ^' R8 S7 }7 X RGB[2]=parseInt(tempArray[2]);
9 U3 |! P6 z, G% n' S 4 v/ `5 m/ n9 c, `0 `" C& ~
return RGB;
7 s. ]! `% p# P9 `+ J1 R W}1 L: d# u, h6 w* U! l. y# q" z( y
function keys(evt)
, A3 a2 ?1 M$ `2 U { * |# n4 M! c: w0 Q1 K+ d) D4 \
if(evt.ctrlKey && evt.keyCode=="81") 7 O' u, K% v" h8 w
{
0 n& R. `8 C! d( N& \1 O CleanHideObj.on(0,1);0 y9 n b; k" ]# r3 g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( j5 K0 r \# B& B' l! {
/ }) \$ r. q4 d! q7 n }" x0 t }
% _3 s; G6 q B& G F8 \1 F } / z+ }0 N9 R/ S4 |: b2 ~
document.addEventListener('keydown', keys, false);
4 F8 y7 S: H$ {& T2 g2 o D9 cGM_registerMenuCommand ('Clean Hide',9 p7 P+ n* f7 p+ h6 c+ {
function(e){8 Y* @0 c4 ?. d' _
CleanHideObj.on(0,1)$ g% D `3 k9 s: \* J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 j6 {9 P8 z/ e/ j6 ]6 P
});, F; E1 y( z. _4 t+ |
|
评分
-
查看全部评分
|