|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( F3 l5 F' S" O- p5 |6 D
4 u I; ~# H. F' O
火狐插件,用猴子: |! M, ^ D* t2 N0 y0 C
7 Y5 L/ @0 M% K E6 d
var debug=false; 8 `# k, v: |- c2 A
var CleanHideObj=new CleanHideClass();+ j: t5 b1 v2 a* }
3 @& w7 I' M: [3 ?2 Efunction CleanHideClass()
) M3 {' u% j: e- [( v: d- k ^# M{ 3 b; X" i) K9 D# G0 x/ p% _
( s) H2 r; s9 [% w8 Q# r) g this.on=function(id,bMZ)& Z- R. v7 I8 p8 B, x7 b( I
{9 X; ^- A/ N; @
9 U6 a$ ]& |9 G7 o- A, v3 |
if(id == 0)
. H% g& {# E2 j: F' t {6 S( X) \* l& |# Y
var page=/* document.getElementById("content").contentDocument */document;
. w+ q( g6 |. o& u$ i0 h7 { this.RemoveHide(page,"span");
: |: n* ]* I7 j* f7 |; I8 O. e this.RemoveHide(page,"font");
* J+ r. u( V6 R" _0 [0 D this.RemoveHide(page,"div"); O- C* g: v. k* s+ z
this.RemoveHide(page,"p");+ y5 c# w' M* v
3 B1 `5 s' c* H8 N } c3 n" F4 ~4 h9 k3 v. W" }5 G
4 k! u8 H& h4 m; h- z }/ m7 j( c. n6 c: Q3 f% ?* A& m
this.getobjstyle=function(node,prop)" |) L3 L4 ?: A" a; d
{
, f+ A. D: F/ W/ I3 q* j7 V- M try
& q' S& q& V. X' _ {
5 m, R7 I7 J6 t. `+ X4 e5 T return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ F1 t# f% J2 F/ M, F }' ~# g1 \* A% g
catch(e)! _+ K. K, G' y2 J1 k
{* m' w3 S: D1 q% B
if(debug)
/ u( Z- B* y( T( e7 S( ~" _: J1 ~& e {
4 m# V1 z9 P6 x! ] z alert(e.message);4 ~; r8 |5 } X
}6 | G5 M1 g/ D4 R5 V
7 ~( A7 d& ~7 V0 s1 H/ E8 H/ O7 N
return "200";
s# q3 [2 c ?4 v; D H } g( y) d `$ S2 X2 y; ]% x+ B4 o- ?
}, {- F8 Q) Y+ M; [5 Z9 F" f1 B3 T
' E/ o4 |! _6 T% X) v g this.RemoveHide=function(page,objname)
/ T0 j0 J7 \9 F/ G7 t y0 C7 ]& ] {4 d- E8 W. ?8 O) @( m. b
try
( m7 k( {1 }$ t2 [ {6 o4 v- V( w" p, G& \# I7 O. t8 i' Q
var minValue=15;
# x! C# Q2 p A. R) l0 O var objs=page.getElementsByTagName(objname);
~/ h/ l5 n G$ ~6 z& [ `1 R) d0 d5 V) [3 e' M
if(objs.length == 0) 2 V# R. B1 w7 K+ z; i8 M$ }5 A" x
{
) N" `6 R/ j* |. g) S, x if(debug)
7 I: i! q6 `; u7 ?9 k0 I {/ ` f+ m* O1 p$ r7 W0 h) Z
alert("no object found!:"+objname);- Z% o1 N6 t c& A
}
" Q' H( L: T# K! n0 K& L# w }
" b- m0 @0 E. w else
7 a- O; r0 p! S( a7 O {. T, O! _: }3 N( a: ^$ G6 m
! b+ l& E, D8 }1 T
for(var i=objs.length-1;i>=0;i--) 0 p& U: t; y; h) M: h
{
0 h( P- {7 ^% Y$ I4 [ var node=objs.item(i); . c9 M6 X" x7 S2 a+ J, \& L# B9 Z
4 u7 N) p0 B2 N7 l& {1 i, o) @
! R$ X( N! c7 M, ^, p- R% i if(this.getobjstyle(node,"display") == "none" ||
$ L3 l% a0 |4 Z, i1 r this.getobjstyle(node,"visibility") =="hidden" ||8 y& O) g8 T7 S* _ u" o
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 K6 V7 h p0 f+ j7 t
{
% U S7 a* m& W! p( m9 C+ x5 E if(debug)9 d9 U, ^$ R" K! Y, `. I+ V& F. y
{ o( o1 K ~2 |1 x4 J7 u
alert("remove invisiable!");
+ T0 B+ C4 ?7 @/ I& s7 T3 _ }, N+ Q1 ]7 i3 t( C0 o
node.parentNode.removeChild(node);
* ` a% ~1 F: {; ~ 1 g$ Y* c- q* B2 ^4 M3 E. ~0 v! z
}6 i9 }$ y5 j0 y
else
`* Q7 n: @3 L {) p! |0 V! q! E- g
if(node.parentNode) 4 s; A6 C6 n9 N1 ~# }, c, @
{
5 O/ d2 K+ `1 @ var orgNode=node;$ @3 G: K; x2 w: U1 d0 k6 c% T
var orgColor=this.getobjstyle(orgNode,"color")
A; C7 k$ b8 B2 H/ B8 g d var orgRGB=getRGB(orgColor); , k# I. C6 }1 s' Z* R* x
9 Q# b8 o- G! E+ F' E4 e var parentNode=node.parentNode
' Q1 X. e# e6 g$ v9 R var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 Z! x/ h& f) y5 t
( n, q7 w( j/ G( K7 d# P8 T var isLast=false;
0 d4 \) z" f; C1 |1 S. D# }9 c 0 C+ g: t- N) {. q" j2 X
while(parentBgColor == "transparent")
0 M' p3 e% K$ S; t+ ? {) n# |! {9 m0 p
- j+ H3 A3 i8 o" {' d* s3 u. G7 ` . a) }) {8 C7 `4 G7 u4 x$ B
if(parentNode.parentNode == null); ~$ e. L' V' A3 |9 P
{9 n0 P3 M) |* ]( S
isLast=true;
4 u- `* w8 b2 x break;
* \/ s' ]+ @2 U* C. ^# h }
1 j' z$ F& a, H; ?# L; e parentNode=parentNode.parentNode;
3 R8 \7 p0 Y8 V1 _8 i' `! ~' [) { parentBgColor=this.getobjstyle(parentNode,"background-color");/ T, C; U% F0 j. a
# N9 {1 b- `' A3 P d% `. N if(parentBgColor != "transparent") # ?5 d' h @7 [0 p
{+ `6 `, W( r( E! Q* E- u3 p# I
break;
: T' [2 ~$ L% S! N5 } }
" q0 J! r+ U- B0 E$ m; ] }. `3 ~5 P( j% W! \ X8 c, Q
if(isLast)
7 H: L: n5 ]" q7 r+ v& g {
V+ M) _# I) D0 h) z" q if(debug)
" w/ Y* k7 ~5 p- K {
4 Q% [8 ^" g. f alert("last!!"); R6 D& b; u8 _0 w" L" Y, U
}
1 G+ N d' }* \1 u. e% Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 q8 }" K8 F8 M1 E
{' ~ a! H! s$ c d& I6 |
orgNode.parentNode.removeChild(orgNode);
7 R5 v9 ^' x% G, u }, J$ v/ [+ P7 f
}: N- w$ @. Y U: n, o2 T! K
else1 h& r; N" o `2 G4 N
{
& A' s! b% s+ K if(debug)
5 F: _/ i( a7 D7 L {* `5 ~$ n& y, h* g( Z; \% Q2 c. y
alert("compare color and parent bgcolor!");% G# E, |; M( {+ d+ m7 o+ i: r
}
+ U* Q( K9 C( p8 P( T" u/ [ parentBgRGB=getRGB(parentBgColor);
8 A6 Y3 b, B' h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' ?# E9 D4 p3 a! J8 ^# x+ r {6 D- \/ c; K8 N1 L) K6 c3 G
orgNode.parentNode.removeChild(orgNode);
' m1 l: t# K/ S+ A i6 o }# G5 G; j' y, b0 e( g! c" T$ I9 J
}
9 D& i8 q' `+ F. [; F6 [+ s+ W }
* M' i. @, o! S$ W }
3 X5 X9 X8 n: B4 j }
+ d1 O- \; ~4 n2 J) ? }; _% H" y3 ^( R8 g8 Z
% w# d9 }1 E/ B% V/ D# c$ Z ; T7 |+ i7 Q3 [( d) M5 X/ K
var itemFrames = page.getElementsByTagName("frame");2 t6 \& z+ y0 \
var itemiFrames = page.getElementsByTagName("iframe");4 D6 ?8 e! k$ ]. S8 A1 u z5 W7 V
& b' S0 g; [: T3 I/ j8 P/ p2 l var frame, iframe;
- s5 q! e/ m4 S# f7 y if (itemFrames.length > 0)
y- s d+ E* A5 p0 [" ^ {
) B3 y. v/ o, Q! _ for (var i = 0 ; i< itemFrames.length ; i++) 9 N# ]# r* a7 M' @. w; m( ]3 k0 _
{
. e$ O' D( [5 b) E; Y# \ frame = itemFrames.contentDocument;
! k, s7 g+ ^. S* p$ Z' a this.RemoveHide(frame,objname);
: _. b' w9 ^& ~" A3 Z; h% y/ g6 l* Q }
8 {. g3 A' ? [ }
% y4 U0 s6 `* i" V% p: a if (itemiFrames.length > 0)- E: M6 a/ S# P( U$ a
{8 B" K9 y' ?# z- u, F( ?8 C
for (var i = 0 ; i < itemiFrames.length ; i++)
! B/ `2 u% V/ W {
! }+ Q% u* ~- u2 \* y* F0 N iframe = itemiFrames.contentDocument;
$ f7 m0 Y% W; ?( \$ r, o6 L7 Z this.RemoveHide(iframe,objname);
2 l7 O9 h4 Q4 a/ a* U }
?+ Y3 ~ ?8 _# G" N }
. S9 D/ s9 r/ T# O9 `! p2 u }; ]/ B9 l9 B1 d5 ^& X9 w8 V5 _
catch(e)
! k { I% l, l( x- ]! z( B1 }* n {3 j, G! L. M5 z8 N0 A4 L. j
if(debug)+ {* C& }& W6 B$ T \
{$ o! C1 t' a# v% p8 B% V
alert(e.message);
1 `/ [+ n. b3 D+ n }
/ Q2 R, e {5 Q3 Q4 U [/ T }
# r) ?6 M, l: q' G2 A, C, z) j }
. a" N; o( g0 R% R l ) [! D6 Y# g$ m4 H2 @
}; |. r' T) I4 w- U
; e- i, J- u6 x. K, H. O9 x
function getRGB(colorString)
1 Q' s I9 h# N" _{
, J4 A! `: A8 P" i" w; X var RGB = new Array;* A1 ]! _! V' X- }0 o
var tempSting=colorString.substring(4,colorString.length-1);
" F' [( E8 `% b+ o1 A* b, v var tempArray=tempSting.split(",");
- ~- ]- D1 ^' j0 _, C b" c9 [3 [- ~& ?" |3 o6 n
RGB[0]=parseInt(tempArray[0]);" z* j3 k+ N$ G
RGB[1]=parseInt(tempArray[1]);2 H/ H. Q# \0 q O# O' c% P, P1 \
RGB[2]=parseInt(tempArray[2]);; Z7 S' I5 i& U6 U% l7 C( `
+ _! f3 w, h4 E& D return RGB;7 f7 t0 Y$ X. _% a; E( N0 B
}- j/ ?; g$ F6 f% @5 v% j3 Y
function keys(evt) ; W6 r! r; p% G, d7 T R: s
{ ; C+ \! |9 B/ _: b( {
if(evt.ctrlKey && evt.keyCode=="81")
5 W. j: f, g: X. B {
6 I7 E! h1 R2 u: n$ w; x; \( I& B CleanHideObj.on(0,1);
4 C# A/ N0 _" R* {' S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ s9 y' N. `- V3 c) e
" E$ d6 Y& b" p/ m6 {7 F% y
}
- i! y$ R% @7 X# d# { } , w' k1 r9 r; F
document.addEventListener('keydown', keys, false);
e4 S& N$ s: a- @' SGM_registerMenuCommand ('Clean Hide',5 l8 G$ O, @( t. T% K; ]
function(e){
4 W# a% x: `/ J# p0 j; sCleanHideObj.on(0,1)- x( t H/ Q x0 @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ R8 y# v9 C) W7 |' B2 X# E});& [9 g# x) h. B* E. t" [0 }
|
评分
-
查看全部评分
|