|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- H- E# P( w3 ]: i1 H* M) J3 v o2 L" g
火狐插件,用猴子
& n$ [/ ~# ^' Z) C3 G- Y# ~1 {) z/ b
var debug=false;
) a1 |9 L( ?; O. g, nvar CleanHideObj=new CleanHideClass();
6 ?) e, K: h, L- ~3 i4 o4 r9 `( o6 ^: ^- x
function CleanHideClass() 0 C" s/ u# Q* [+ l% i9 e
{ # j3 X" d- w2 |# x4 Y( H- {# a
8 v+ B2 A; a j p' w$ J this.on=function(id,bMZ)7 V5 I; i; S4 C4 r& Q" b
{
) y @2 i" q1 J! @) I
( @1 s8 [$ d9 ^. U7 n if(id == 0)
- |/ n) P1 Z+ b2 K+ ^& E$ E {9 m4 J0 W3 L! q, a9 i* z; ]
var page=/* document.getElementById("content").contentDocument */document;
6 @& i: X1 N4 g) W: @) r" [ this.RemoveHide(page,"span");
4 g7 c. S$ B2 h# H) c4 H$ u" |) Z1 w this.RemoveHide(page,"font");' M @& F+ M% q; _, F S5 v
this.RemoveHide(page,"div");9 ?5 E2 i. [6 j
this.RemoveHide(page,"p");+ ]# h4 M. x9 j& t) g6 D
2 q. M! s4 ]2 P0 @3 `1 I0 I2 M' k
}
- A) T9 T$ J& H D 8 i; M* V E' A5 L$ ^
}
' P( z, i$ W& U' r+ a2 U this.getobjstyle=function(node,prop) O" }& O6 c* v7 H8 _* i' P
{" g6 v: o! D8 U3 {5 {- `" ^6 A
try3 y1 P8 b s4 T+ A9 p" S1 E
{
# N. O3 W6 Z8 [% T& D5 e; y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- N n1 |8 G$ l0 k4 g7 l7 D: q
}
& ?; ^* T* o, k6 X catch(e)- I5 F- D' K1 t4 g$ S
{# S, C1 N! q \4 _# I! N, t/ U
if(debug)
5 @ s" T, I, d( B: F/ ?0 P2 _ {% B# `& Z# Q$ V! o
alert(e.message);$ {/ E7 V. O- B6 A. V# h: u1 v
}+ N4 d+ B5 O3 E" N B
. D' b/ H; q- @1 U% j
return "200"; s3 }5 a* n+ o2 ]7 z" r. d
}( l, l" C5 w' G7 N9 T7 C
}% G, s4 a c- D5 S: R& K5 I w
8 S4 W. ]2 \0 h6 W this.RemoveHide=function(page,objname)6 E* Q& E/ z. z& h- d
{
0 S& i4 S' Z* g o3 A. U try
( ]. A& b( A2 \# T# @2 N {
! C$ o& |3 X* T/ I0 D& w var minValue=15;
! G. E$ j5 D% F8 } var objs=page.getElementsByTagName(objname); 0 s# V8 X" E0 x. G
% S7 M5 ~1 o: ^: I) }7 w7 x, f7 @2 ^
if(objs.length == 0)
- t8 R* o! j8 n. q$ Y9 f' S4 C" p& o! _ {
. K5 t* r4 B, l6 s( W: n+ \ if(debug)7 \/ N0 O) t" S! F7 U% Z5 ?( X# G
{
( n! _+ l8 Q6 z, }: x alert("no object found!:"+objname);
0 w" p( u1 w; o) E6 p8 v }* K' j0 ]7 A8 z; @9 I
}
' R& I# J" T% ]' ~7 @ else2 w3 ~8 h. M- ?! ], r
{3 d5 f2 s6 D+ U7 X
/ w n0 u8 H% |$ _* ` for(var i=objs.length-1;i>=0;i--)
$ s4 P6 p: O5 O. F! q' [ {
3 z: d# ?* S7 X H/ z/ F& @ V var node=objs.item(i);
; w! K5 l! q9 Q0 g" V
. m6 @ C8 A F$ x8 [
$ h1 i7 C0 P6 M9 D) i: s) ?4 [ if(this.getobjstyle(node,"display") == "none" ||
5 z6 p2 g3 g5 ]0 X& H this.getobjstyle(node,"visibility") =="hidden" ||
, L! H: n. E8 V7 j$ G4 W parseInt(this.getobjstyle(node,"font-size")) == 0) 7 w! B; Q2 f8 p3 }, D1 x; e
{
% g: a& H+ N/ y* W if(debug)
) n* H- l" Y1 T/ }' a: G {4 N7 H4 Y3 _ [& f O6 h6 A
alert("remove invisiable!");
- W" s0 \' g& o; E; t) D }* X0 e0 H8 c+ c/ \ U4 X5 b
node.parentNode.removeChild(node);( z3 n' m: ?+ M i$ K; s
7 v4 F! K7 a* H
}5 I/ D0 m2 |# j
else
/ ?3 _( _* }% B2 B# P) O! n9 r {% n6 \# {% V+ [
if(node.parentNode) # K Q* g; Q( L) X [% `; Z
{
- r7 C" |+ P/ s var orgNode=node;' f& b- ?0 p$ ]' t. V3 t% n
var orgColor=this.getobjstyle(orgNode,"color")
# d# Y# |7 I; n var orgRGB=getRGB(orgColor); ; m4 A4 ~$ u( r& ~- T
, I: c" f, k- [
var parentNode=node.parentNode5 T% T6 w7 D* b) ]: ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");. a$ ]4 h O0 v7 G& S, E' \
* V% `0 ?% i) O: P$ {/ A) X" @
var isLast=false;! n8 k! v! b( s/ W! E) H& W
; ^5 t$ p; H! u4 R9 G while(parentBgColor == "transparent")
Y7 d8 I* _2 N' W5 i$ |+ Y- D {, v1 J3 J# d8 u" T+ i5 R( P
/ }3 y6 R& a( d# H2 ]7 I M
8 y' H7 s0 N- U1 o if(parentNode.parentNode == null)
7 D, X0 ^5 c0 E1 X/ G {3 n; x' S5 O* A3 `6 s
isLast=true;% N) ]8 o8 n5 Y2 u1 R! S
break;
9 L1 T' V% C) R/ v: i$ B4 _ }
- C' k, W! z; x5 e8 z+ S6 B parentNode=parentNode.parentNode;
% V8 V/ E/ x2 I parentBgColor=this.getobjstyle(parentNode,"background-color");. G. a( g4 ~ F, a; _, V" _
9 g1 b/ `1 ^. Q+ W; J if(parentBgColor != "transparent")
# _5 J1 L) b" v* n+ C( v) i {# b+ V. r- i2 i; B1 \+ @7 F% U6 p
break;( _# f2 S4 f" I' i6 ?# a
}. v9 M. F8 M8 [! s' z; ^ T; E+ F
}
1 ^+ G: p: I5 @. i$ K d8 `1 v if(isLast) - t- S4 C8 Q" ]) O- Y v
{( t) ~" w4 e& }- b
if(debug)
# Y: _- F, } t( D4 L$ s( Y {
0 a$ B- x/ U( u$ e. `( H$ N. E alert("last!!");3 ]' ?# h6 A3 `4 |4 X
}; |" ]6 V4 i) c" E$ v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) U7 O K4 O) ~4 [- \3 @4 e
{& d0 n. b* t/ w& f& e9 [1 C8 B
orgNode.parentNode.removeChild(orgNode);
2 w% m+ O- I* X }
4 l0 L* d; ^% J* V4 C2 | }
/ `% d2 z: p, ? else6 \3 P! B$ |2 T4 a: U. ~
{- D# c& d1 l' G, U ?1 E
if(debug)
' f) m: l; A' ?7 A3 F5 e" e2 H6 ? {5 b$ E6 ?8 u4 t( m& H
alert("compare color and parent bgcolor!");
. w( R8 ~: `2 Z9 G# w6 b. M, |) e Y }. i, t5 X) l) J; J0 f- N) R+ V9 ~
parentBgRGB=getRGB(parentBgColor);
1 r" o5 b0 p# J' f7 R/ T5 W4 a4 f0 C$ ?- v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 S# _) Z8 c% g: \$ {
{
( d4 B5 ]. O8 t; S orgNode.parentNode.removeChild(orgNode);
3 ~' c; F2 Q! @7 f! Y }
- |5 l+ I/ Q% Z, q0 H2 v& C }9 L3 w- [1 y/ v+ L* Y
}
6 O4 V' k) w* d }
( Q6 C, B$ @# ]& \6 b+ J* _6 I7 O }! O9 g- L) `8 d( g( a
}' _6 ~3 P. ?, R5 {
- B" `: e- J/ k' [5 ]7 k
: e$ O! d3 M. o! s: [0 ?
var itemFrames = page.getElementsByTagName("frame");
) K* Y9 b8 Z" F7 K* N h* S3 S$ @ var itemiFrames = page.getElementsByTagName("iframe");
4 g: X% V* h q) d" ]+ B4 o ' H; {/ h$ Y& E V5 d z: e
var frame, iframe;$ S( Z" s. i; F8 U
if (itemFrames.length > 0)
/ Q. V2 K' \9 V; d! L9 \3 M {6 T" U+ q9 }9 l
for (var i = 0 ; i< itemFrames.length ; i++) & t) u1 m: K7 D$ n. F
{7 v1 Z, v; U2 i# N( ?0 n
frame = itemFrames.contentDocument;
0 b' v: M \1 ^ this.RemoveHide(frame,objname);
- i) O" a3 m- T }: w) `$ K/ P c! w' M& g4 A
}! c: z/ }* ` G2 A: h4 [5 O4 {
if (itemiFrames.length > 0)
# s$ n8 d' s" ?& F7 I% j {
" x2 m* e! Z1 g5 I. \! J7 j for (var i = 0 ; i < itemiFrames.length ; i++) ) E' |: ?6 W9 a* u i3 }# X
{
% d4 j! c# G& F* I8 }& K' k5 X iframe = itemiFrames.contentDocument;
9 k7 }: q" l) `! g7 X6 l this.RemoveHide(iframe,objname); : U8 j0 O) T* Z3 @" F5 S
}8 H5 R5 S3 ~, W
}5 h z' E5 Y- z1 M3 c" f+ X
}* }& x }0 _" c* M4 ]3 |# G. S
catch(e)
# |# C/ n! C. r" F {
: t* d) Q* u" w2 i! o) ` if(debug) O( T/ l( {! ?) |! N/ ^. v
{ x2 ~( }2 F2 {$ }- x
alert(e.message);
+ Q" J0 ~/ y" @" P' y) p }2 z7 |0 ?% v- {% E! {2 m+ O
}! a4 ?# r: A1 e r
}
& j/ w) K' j8 c 5 H i: s8 ?3 V# ~9 c
}0 B# \. |6 L4 h
0 W7 w4 Z6 S+ J# A
function getRGB(colorString): M. u- G. J0 ~' V, I# Y3 T, J
{
$ \9 R3 l& q# J% A/ F var RGB = new Array;
- I. K+ q7 r- }( z: l7 Y A9 G" |9 U0 B var tempSting=colorString.substring(4,colorString.length-1);. n* ^/ y" G- \6 i, u7 r
var tempArray=tempSting.split(",");2 V% h' E5 e3 d. E( p, c, P- @3 A% Z
. g. @ J- N( e3 S) C4 [7 I1 p# E RGB[0]=parseInt(tempArray[0]);- P; y" E3 P; L* K3 t
RGB[1]=parseInt(tempArray[1]);
/ h7 K" N5 S+ P; I# ]4 Z RGB[2]=parseInt(tempArray[2]);+ F/ u0 r3 y! C0 t- Z4 b, X
3 c' r, ?# z4 ~; m return RGB;5 `/ p# s" A6 S" z. G9 E* n
}
5 Y8 O' h6 A- H jfunction keys(evt)
* [+ g5 z2 u- L { # \: G% U5 r8 l4 R: v7 y
if(evt.ctrlKey && evt.keyCode=="81")
& |' ?6 R7 h; t/ i; N* [( R { 0 T0 R* c( t$ t, O2 ^
CleanHideObj.on(0,1);
# B) k; p. s' x9 }3 W, g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & Y& [$ d7 n* g {! R# q
0 v% I7 n* v8 U, g% m+ |8 e }
! i' @! A2 y% A/ x% [$ O } 4 D: P) ~! C" y* p8 Z
document.addEventListener('keydown', keys, false);
7 h/ V6 R1 `/ E) p3 E7 e6 kGM_registerMenuCommand ('Clean Hide',
* H6 O% d4 H" v8 F7 j. p% cfunction(e){! J9 x* {* Z: F( m4 C- [
CleanHideObj.on(0,1)! U- _/ u% i, ^1 P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 M0 Q2 M. R9 D& O1 H});
/ z; r5 r% V6 ]* O4 F, w0 K, n |
评分
-
查看全部评分
|