|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & T8 t3 ]8 s' n
$ p9 C0 @. q2 C. z$ a
火狐插件,用猴子8 H& R( p# z4 M: {9 Z) q3 m
( F$ ~" r& V' }% O8 k% L3 X$ @
var debug=false; ( {/ a$ R5 @9 c( p" D3 E
var CleanHideObj=new CleanHideClass();# G( R3 f$ E, O9 i
. J! E1 \4 [$ R/ afunction CleanHideClass()
& l& |1 a$ d0 |/ U2 |% s6 M{
8 B0 Q2 x$ }$ C3 ]& K : K4 Z4 m& \! a4 }
this.on=function(id,bMZ)
* j3 k2 Y( g2 K7 c {6 r" v2 ^% P3 a1 L: F2 Y. V
" l; l3 o( D6 p1 W0 d" Y- ?
if(id == 0)
( g+ |1 W5 P( ^3 a3 A+ ~4 C {4 c- V5 s$ \5 j, G" p' T( \
var page=/* document.getElementById("content").contentDocument */document; 5 u$ c' `7 I( m( Q( ?
this.RemoveHide(page,"span");, `& I" q: Y' J# m& g/ R' @9 Z
this.RemoveHide(page,"font");
0 Q; k3 V5 H. q$ M5 D, @7 M# V this.RemoveHide(page,"div");3 R+ |3 t# }, Q3 k2 |. k
this.RemoveHide(page,"p");$ l* G& ?4 X; h0 U0 D
+ ?$ _- z) W- u, ^$ a9 I }; J1 o0 [: S# G5 ?4 M
& w! |& [' q# m0 [5 ]1 ?: [. Q
}* z1 a8 M: Z6 ^
this.getobjstyle=function(node,prop)7 y, |7 W# u& q, _
{8 F2 f- c/ W2 w# R! e1 M
try
# b3 D7 Q$ K/ } {0 p0 \) \3 m& Z6 l) l$ H% ?
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
|1 G/ v4 a' T1 T! I# P }
2 Z5 B7 M5 U9 M/ N5 ` catch(e). n- d2 k) X* g) G8 |
{
+ _- A' j2 C0 L+ ]' M if(debug)
0 m# [- Z2 ~( i! z+ E. }! g# w" O5 K {4 K2 v# ]8 F9 ]6 w' G: r
alert(e.message);
: _% ^9 W$ `4 }2 m) K. H4 ^ }/ k- G7 U- J4 q& r! w ^7 \& a
4 s6 f, W# G" _
return "200";
1 @* x% V& @& ]) j }
1 `5 I0 k( J; F. j, { }
7 E. b8 [+ g4 U! p1 Y) C* _0 ` : A! u. g2 x: b9 `& F: q
this.RemoveHide=function(page,objname)- `1 N, Z' s! f
{
1 }" `' J5 y: ^5 w" h+ k try
+ N/ s7 \* q+ `! o {
' W! f( c* d) L" V var minValue=15;
6 T" b! A% o2 @0 o7 y' l var objs=page.getElementsByTagName(objname); 4 j. \! u+ [: X0 u& x. S
! w6 P) @3 d& k# }9 F0 g0 q4 X- R
if(objs.length == 0) ' @3 e8 T: s" Z
{
. [* x, s: `& a if(debug)+ ~, ]5 q! k% n+ S' e
{. B, N9 }6 y8 \ m0 v- I
alert("no object found!:"+objname);# I5 `. l0 b( K) [9 u$ s
}: A+ \0 c5 w) u; R4 F4 L
}. R2 _; B8 }% B0 p
else. L* ? N }7 e
{- h$ U0 ^- S; q+ X: g: Y' O
: d3 N! \; P5 t, A
for(var i=objs.length-1;i>=0;i--)
: \5 U+ i& r! ~; o. I {$ A+ y% L6 W5 Z2 s
var node=objs.item(i);
* X$ G" K' l+ b- F( U1 u1 c
, i: L! ?% W9 w 6 S! }) B, o+ K( Q+ d, o
if(this.getobjstyle(node,"display") == "none" ||) v' y2 D8 N( z" Z0 F" J- a3 {
this.getobjstyle(node,"visibility") =="hidden" ||
a- y2 V/ A$ m, O3 l1 x* H9 a parseInt(this.getobjstyle(node,"font-size")) == 0) ; @* a9 d! B9 E4 h% I4 M3 F: X
{
& i( B2 g+ t4 j5 t, y if(debug)2 f2 f( v* b/ O: j' I
{+ g7 l# q) {, {- }7 Z& F \
alert("remove invisiable!");
3 ?" D3 ~9 b+ [2 W }5 w, l+ B& L+ Q: x$ R" m
node.parentNode.removeChild(node);: `6 q" i( }9 d
# X: \' A! w7 p' r6 X) ^ }/ r" c$ f) @' k, U- M1 j
else 0 X6 G( d) ~- K! e# g; c
{- X4 z/ A6 W v7 x/ Y) h6 J
if(node.parentNode) - j, G8 f8 R% t) G- b* t
{7 O' w/ T; T) O" {
var orgNode=node;4 a; |7 V& h' w% G" } v& l; n" h
var orgColor=this.getobjstyle(orgNode,"color")
* d( j) V6 e, H! L% G var orgRGB=getRGB(orgColor);
6 L1 P, U' b0 L+ h$ L
4 y B3 n. J- P7 r1 ~ var parentNode=node.parentNode) S4 ?7 L: |& l6 \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" N, y7 e7 s/ r5 [ x8 H
* [8 F, s1 n6 Y' o var isLast=false;
. s4 B4 I6 M9 t+ R3 B , u2 Z4 c9 R7 m3 a6 g
while(parentBgColor == "transparent")
% X( C3 `4 V5 y! m7 |7 k _5 c {
& l6 p1 K& i& i/ x R# I$ O
3 i% T; T7 `! V. [# l# i3 W
; u% B* S4 n w if(parentNode.parentNode == null)
' T0 o$ P1 g6 e' O; c5 s {) \* F, X4 w& a+ f3 M( n7 E7 g
isLast=true;
& o5 T, g4 i! I break;
( D( a/ E1 J' b! ~7 l# f }
' c. h0 S4 t$ X7 v, t' a6 q parentNode=parentNode.parentNode;
6 h: B$ w6 c; d parentBgColor=this.getobjstyle(parentNode,"background-color");
! Q) D$ t. k4 N; [9 Z! q7 [" {% E, _0 }5 X
if(parentBgColor != "transparent")
& t) J: o G3 f; Y) y {
- J/ R7 C Z; j5 I& K0 T v break;, S6 X) ]5 z' l$ ]
}6 E, F. k$ t& d" U; f
}
4 ?% b1 [& v+ r$ t) v if(isLast)
/ \8 P1 b7 o3 H; h! O0 O {8 q i, _# D6 a9 v6 S! c8 o
if(debug)/ |' q) D* o) R; i
{
1 l: `/ I; p { alert("last!!");
! {- j: x9 J; p$ @ }/ W* M3 O2 t# |2 ~9 u. L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 j$ ^8 |7 f. _7 \5 D6 w2 W {
( W4 g1 C% _6 S1 S* x# } orgNode.parentNode.removeChild(orgNode); $ E+ @! g* ^% |
}
8 M3 o5 v5 ~3 p3 J" N. p- N }
) j* O$ ]9 U# A; ]: a. Q/ H( z6 f else7 A- T; ]! B* T- o" {0 G2 s
{
# w# s: ^3 w4 t, \% }6 {/ s" k- j if(debug)+ P, I- h5 q: f7 x( ?; o- V
{, H/ B" I9 Y( _0 g: A q! N8 k
alert("compare color and parent bgcolor!");
/ }' {* O/ A, x0 Q. ~ }
; o" s5 N N7 ]9 k. T parentBgRGB=getRGB(parentBgColor);
: C5 b Q' z% e o6 c if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; M4 u' S: b4 T; ] {9 v a9 C# Z: c2 t9 h& o5 z
orgNode.parentNode.removeChild(orgNode); , G4 m0 E i4 `( h: i1 r2 L
}
& z( s5 @7 J% B- O/ Y }
8 e" t: V6 x" Z, `; O }
/ j( r7 \3 M& q. \. d; b6 ? } P# R5 e8 A2 _: V( R5 R& o* c
}
( J9 K% b# v6 [! c/ l t }/ d' x& R& i8 j- k
( U4 {, O" O2 F. ?; E
/ F6 X1 w5 W0 |0 g var itemFrames = page.getElementsByTagName("frame");: |, r! Y$ `: |, @7 E# A; g
var itemiFrames = page.getElementsByTagName("iframe");: P7 T% F1 k! {0 e
; X. @5 M- Z' c4 b0 j
var frame, iframe;3 x9 W: s* o$ w) Z, e3 N( b% `
if (itemFrames.length > 0)
# _" b% Y: s4 t {
2 b2 K3 P- P9 h- o for (var i = 0 ; i< itemFrames.length ; i++)
- t) R, B+ t, I+ H# a, M# D {1 k' A% m( v9 H1 B' t
frame = itemFrames.contentDocument;* M: C/ g' d; ?( Z9 k6 x
this.RemoveHide(frame,objname);
( c# P, a8 b7 M5 X }, l/ T8 S6 l6 g+ ]6 T2 s) ], p
}# H. J) p7 {7 h9 t6 ^! ]7 G7 g
if (itemiFrames.length > 0) V) l: b* n: C8 L5 i- e
{2 A9 x' }0 W3 {& O) s
for (var i = 0 ; i < itemiFrames.length ; i++) " p, n$ C" |: a6 \7 ^
{
- w- i" o0 \) ?3 U- O iframe = itemiFrames.contentDocument;
: C9 g5 g3 J- T this.RemoveHide(iframe,objname);
3 v* M+ }% `6 c7 @# U' X! h* P }7 H8 W3 I) q u+ W# h2 t8 X* `
}7 @2 ^1 I9 y+ b: a8 I0 M
}; p4 n$ S2 F) d. M- O, b
catch(e): k% R0 _; A- A4 }
{
8 w0 c* u8 {7 B \' z if(debug)
0 V. d* H; c" Z {8 y4 [+ V( v# z( r
alert(e.message);& d* b, o: `+ k0 W
}9 G3 Z) f" ^- h% \
}* Y3 A, f' U; `2 e# X% s! `6 r1 ]
}& k: f. M. |& S& J3 B3 L. @
3 m/ O7 s7 m- a( F, Y5 p}# H- f: A7 S& t2 T& T1 R
; N$ O; T; P$ f# Y7 u w7 R
function getRGB(colorString)
/ z0 Z" H& i U: k k/ H- u{! s/ w) x; l/ X' r4 X& s) N1 ^
var RGB = new Array;
* {$ }7 d* R1 j, [ var tempSting=colorString.substring(4,colorString.length-1);: U1 k: Y0 @; D# I6 ]
var tempArray=tempSting.split(",");
. N3 U1 Q4 n g8 B7 g- ]4 q. ^1 C& C$ m
RGB[0]=parseInt(tempArray[0]);9 V% o8 G v9 }# b0 ?
RGB[1]=parseInt(tempArray[1]);; R J; l) }1 ]' R" J
RGB[2]=parseInt(tempArray[2]);
1 G6 G4 }4 m/ |( V 9 j2 E1 q. E# X# d* s- O/ u
return RGB;- o, D. d6 O# P+ q
}+ g0 N: y7 H" V' U
function keys(evt) 9 O" b4 `& _0 r% `4 a6 X6 L4 e
{
9 Z8 j) f) F$ Z if(evt.ctrlKey && evt.keyCode=="81")
5 a1 s: n9 y5 `) w { - w9 X" D5 _1 Q" S6 r: F
CleanHideObj.on(0,1);, Y& S% s0 a% `/ H0 s$ ^; K) F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 S1 `. i$ V Z/ M3 {; J& u1 A
2 {; A5 M" X; Z0 b+ G' [ } ' L/ q( f& ~( ]* I. Q
}
# d) R& c' Y5 q( O: W. M$ ]4 ldocument.addEventListener('keydown', keys, false);
% k" _: f8 ~& m6 x) V VGM_registerMenuCommand ('Clean Hide',% u2 w* F' ^. e5 \4 X J% R
function(e){
6 v+ m0 X; n$ \) y" W8 Z- i5 n7 S# lCleanHideObj.on(0,1)
' ~( ~; N/ i3 u _' Falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
Z( h. k; m6 w, ]: |! i});. ?5 K8 u$ P' t/ m9 [
|
评分
-
查看全部评分
|