|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; |$ ^% C# x8 q9 ^0 l
' x5 m0 q' Y* r火狐插件,用猴子% V' t) F! N0 r8 M
! ~0 H1 Y" x. n( h* D7 D0 F5 z/ \
var debug=false;
5 o8 ^3 ^6 i( w* Jvar CleanHideObj=new CleanHideClass();5 x' f; e& ]8 u& C; t- s" O
8 s4 M, Q" Y- Z* o& \function CleanHideClass()
. _4 H9 ]: x7 G2 @1 p, ]{ 8 R' ~' B/ G. m |) w7 k
/ A; A- {2 O" Q% A1 Z t this.on=function(id,bMZ)
) v3 F. x- S7 Y8 I {4 h5 H7 `" ^. z/ }
) w& Q# y7 H V! W0 Z9 Z- H9 I if(id == 0)
3 Y$ @$ X) Q6 I {
2 a G7 E9 V4 `7 M7 `9 f var page=/* document.getElementById("content").contentDocument */document; " {4 m1 u4 _, k# o
this.RemoveHide(page,"span");7 W, _, z* s( \# E3 B
this.RemoveHide(page,"font");/ Q+ N: V9 Q3 i% [- b
this.RemoveHide(page,"div");" L# n7 r# G+ J ~% I$ y
this.RemoveHide(page,"p");
' m. W3 p: T3 ~7 i( G% b1 ^8 k% w
( d( c5 ~4 P1 W }
" L" [4 B8 S/ ?' k) ~ 4 q r" q# V2 n- x5 z5 t, U0 d
}
8 s6 }1 j3 @1 [- O% d this.getobjstyle=function(node,prop)
- ^$ D# k4 e4 S {
! N9 b9 T! y0 e0 m9 @% p& g: W, R: R try5 B% }' g: t& U h2 v
{2 |6 k" ]# b/ K; s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( [& Q+ x4 J. k" s1 \' S$ w1 o }% o( N, S n" Z+ k
catch(e)
" g! m( p, }4 [, P+ _6 W {7 Q/ e" l+ O- y" O( y
if(debug)
# f- P: B) }5 q+ T5 f' B0 x {
5 }$ O( i( k b7 K2 l3 X alert(e.message);
$ E) G; Y" e6 a; _! y1 o- r9 W% d }
K& P" J. S8 K3 o " I% g, @) h, | N
return "200";- n3 ]7 X7 M- r$ ^
}
: M$ q7 z- w" G D }
" d8 K }. ^3 C* ~2 `
+ ~6 g9 S% N- ^ [1 A this.RemoveHide=function(page,objname)
5 a$ d) m* {/ s W/ e, J) ?: j {
8 z" n! |+ A: J8 N0 W7 t0 W# G4 v try' C$ {& `& X" a7 M
{$ r- d5 i/ m) X) H: \5 ^8 [/ S
var minValue=15;
5 J9 z% a# b% _- U var objs=page.getElementsByTagName(objname);
( t1 @2 q2 V$ Z# A( B" h: V; [$ t% ^, F2 v& G6 e/ s3 S1 }8 V2 t
if(objs.length == 0) - Z, w6 `' J7 z) N2 d; F0 l8 U+ Y
{
( C: \. `4 u% ]4 B if(debug)2 F* i2 v0 T* a$ h: x0 W! `
{- _8 I. \! m. S, S6 V& r+ @
alert("no object found!:"+objname);( T O' C# M0 f, Y# N0 M
}
0 \ M- ] K2 d3 B }& |3 N0 ^1 s% F& ^4 k) l7 y1 X
else
]' C* X7 n& F; J {5 v8 _" N! y6 [: m+ x" t) A
p# K# F+ \) B0 b7 Z7 _! \ v for(var i=objs.length-1;i>=0;i--)
; w4 e \+ q+ {* @* F {# [. {! @4 o' }4 t' ?3 g+ H
var node=objs.item(i);
1 U4 x/ b/ J, ~+ B5 g6 y
4 H% O2 ^1 U$ r! R" q4 c2 s; b
& N4 O: @0 {, g( \ if(this.getobjstyle(node,"display") == "none" ||
! f% X1 `, e- G, y+ ] this.getobjstyle(node,"visibility") =="hidden" ||0 W6 F! B- ^, _8 M7 y
parseInt(this.getobjstyle(node,"font-size")) == 0)
) x g* h5 T8 B: V1 C {9 R2 E+ d: G% l3 m6 x4 M
if(debug)5 z- L1 J8 `$ d0 t/ S% w
{. }9 J' l1 L. ~
alert("remove invisiable!");
$ q- k1 F, Z8 r, ` }/ Z0 x7 Y% L$ y/ X; \1 }* b+ c
node.parentNode.removeChild(node);
& D% R, P+ U5 B: D3 \! P
9 v# C) V' B5 |# S5 e' H }1 W2 I: B7 ~( g# i
else
( T7 b, L/ a8 h+ O8 n! a; s {
0 b& X9 G3 J$ }! g% m. g6 ] if(node.parentNode) + V7 G, U3 W( i) w4 Y: k
{- [/ F" _: W+ c; @2 l0 Q
var orgNode=node;4 F$ a4 b. y1 r) [
var orgColor=this.getobjstyle(orgNode,"color")
, G) Z$ J+ e0 { x8 t& a var orgRGB=getRGB(orgColor);
& M- V) R& M) d! |# M3 {
n$ a5 w& y+ f3 G9 v5 Z6 M. T var parentNode=node.parentNode
5 C; }2 D. W! }$ u4 W! Q# w' ] var parentBgColor=this.getobjstyle(parentNode,"background-color");
" A# j9 @9 e8 \, Z5 T ! {4 d. a% q5 Z3 f( p
var isLast=false;+ y" Z- D5 r. i6 o, f- w+ b! @7 M/ B
/ x) V2 K$ ^1 ~7 m" `& ]- V
while(parentBgColor == "transparent") 2 e7 ^0 B1 i6 f! v9 o8 N
{2 Q8 X3 U5 @1 D& f) a) n
: v9 ^# R) v, B0 W" `
5 T( l: O* ^& L1 g3 R4 ^
if(parentNode.parentNode == null)* p0 q0 d/ w& `" q9 A, S/ T+ [
{) M5 Q( [0 s, z {8 V
isLast=true;+ r7 s. y- J, y# Y
break;9 l j/ U6 ?0 w- U
}
# ?( r; ?0 O; n1 s1 C6 J parentNode=parentNode.parentNode;
; v5 n' `* h) T' s parentBgColor=this.getobjstyle(parentNode,"background-color");
6 |% Y! c# j1 @( [( C, J2 i8 }8 e# w: h D3 R4 L o
if(parentBgColor != "transparent")
- M' W5 s# t( O2 B5 @ {6 k0 L9 N+ ^1 f! S
break;
! J( ~: x+ R9 d6 w3 b/ ~( }% a9 a } @4 x/ b* W8 S% f
}0 m2 `( J6 S4 w0 U, U' v4 r, d) e
if(isLast)
7 m7 V! Y: |9 n& U9 O9 [8 G' _ {
! N' x2 R1 M# n8 b/ n5 \; \! C if(debug)" Z2 U, T' K5 _) i9 g H
{
% y. M! R' j3 w# y: _: Y$ Y' ~8 W alert("last!!");3 \4 B7 c6 T ]5 ^6 ~
}/ n! v( {4 e$ c: n T/ {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ T7 v6 z# Y% p0 h- e! v& o& m% V$ g
{
2 @# z: L! V" f7 ?. c orgNode.parentNode.removeChild(orgNode);
! J0 L: k( S5 S ~; y9 D }7 [3 E3 @- g2 U( p
}
. F/ ~2 \3 Z9 ?# e- R) ?/ [9 ]8 B else. j" \% h( }( T$ D
{
) W' I/ n$ R2 ^* f% \ if(debug)
! X4 L: {' u" c3 o2 @. e) w {; ]9 b* @' Y/ t
alert("compare color and parent bgcolor!");
* ^# i- J% m3 J1 q8 ^5 A; b }" ~0 x0 ~. V' o% _
parentBgRGB=getRGB(parentBgColor);" Y2 x. Q8 v$ Y: f; `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 ?# j' {8 h \. y {
4 ]8 T4 Z9 e/ R" p. w orgNode.parentNode.removeChild(orgNode);
X& l% M, U( f* G+ `0 X W0 k }
/ P$ h; f+ i8 K# T" v# O) Y }. c+ s( z7 v/ |+ ~" x+ l
}
/ E4 z( X. N/ V0 d5 p }* m9 J% ]5 `% x( P' i
}/ V; Q( _+ {* s( c5 G0 ~; K& r
}: a3 h3 D- D" b% y- r
% ^, W( s2 r0 R: s5 p# y& u
# f6 w5 N! M% z0 y var itemFrames = page.getElementsByTagName("frame");& o& x5 K* I3 e! x" f4 w. `
var itemiFrames = page.getElementsByTagName("iframe");
! G9 Z% z: ]9 }- N
, Q. g+ h: e# ^2 j0 k var frame, iframe;; b+ [6 J5 B1 D! N1 \
if (itemFrames.length > 0)
! [& g& f" H' h8 m" L {
6 `2 Z1 i& k1 @5 ~" Z4 [ for (var i = 0 ; i< itemFrames.length ; i++) ' Z0 n: S- d" c
{0 J' `$ d+ P0 f+ \% }% W+ H
frame = itemFrames.contentDocument;' e* y/ d' Z' O+ v$ y
this.RemoveHide(frame,objname);
9 s# Q( F" u; d7 ]$ S H5 r/ V }; @: R( V! M. \& ]7 ^' w Y7 q
}
0 J; J7 T5 n) v* B if (itemiFrames.length > 0)) H5 {/ B f8 K w3 A( l
{8 f0 K7 i4 d! p$ ]$ A
for (var i = 0 ; i < itemiFrames.length ; i++)
; E4 L) ?; ~; e4 ] {
/ s, Q8 U% L' y( L! _" c iframe = itemiFrames.contentDocument;. ?3 U( j+ n2 w, I$ L
this.RemoveHide(iframe,objname); ; S) b# ?! }$ g: I2 i8 ~
}
5 M1 R! Y) \& U) l X' s }
2 C8 F/ c3 t. t0 ]3 P }8 ^3 r# M$ Y; |2 s5 M% r, n' {
catch(e): u7 z O4 o" q K3 ~6 A# {
{
e4 R. k& Z0 W% e1 S( _& p if(debug)
; P! _0 l( o3 v$ [: [ {3 Y" N' s7 b/ S2 z
alert(e.message);$ V2 Q) U* S% j5 ~# S& v7 U( \
}
+ c) \1 q8 V' O! z6 c }5 w) m6 v8 ]/ a1 n: P
}* x, A [4 C8 n4 c8 |9 z6 h% E2 @" Y
; K7 _: ^6 V8 q( ?; H}/ U8 ]! O4 N( ^/ L( m. J8 k
3 m# H" ~+ }. D& t3 z
function getRGB(colorString)+ h- b6 ]9 M/ C: g8 n4 {9 }
{0 J, A0 |" a# o+ z5 ?. W* S& b7 e2 j
var RGB = new Array;! y6 T! i" q9 c [1 T6 z* o: }9 c& o
var tempSting=colorString.substring(4,colorString.length-1);
. T& y( N& p, ]- E var tempArray=tempSting.split(",");
" ~9 j/ Q2 y: V9 }+ W5 }7 R$ |# {) p$ a
RGB[0]=parseInt(tempArray[0]);1 s5 Z( v! Z( T- ^$ V( R4 U/ B
RGB[1]=parseInt(tempArray[1]);' q& \: s% Y, Z: }
RGB[2]=parseInt(tempArray[2]);( p+ z% J6 K! W5 r% i+ i" m6 `7 `' _
3 E% Z R @! X5 m8 }/ A9 P
return RGB;) H: C0 g2 w7 G3 r) C: c
}
5 {8 h% O6 W8 Pfunction keys(evt)
6 ^9 p% M1 U' C' p {
8 f+ e! \4 X9 ]3 u if(evt.ctrlKey && evt.keyCode=="81") ) N! s R% G! ?, v9 s2 k. t: n
{
; u7 e' e# `6 U0 m% N2 j6 d( @' t CleanHideObj.on(0,1);
: B% y2 N7 g' g2 k0 @$ a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- T1 U5 c0 }1 S1 ~, m; z! W
. Z2 a3 \" m6 ]2 @2 s$ ]& s }
& B3 P' y; x. m: C( J$ l! Q) ]- g } 8 u# a' T6 U3 l
document.addEventListener('keydown', keys, false);
* W& z* U# b! B; D( b4 mGM_registerMenuCommand ('Clean Hide',$ \/ J! i4 D" _# f, G
function(e){1 u t! h8 G, \- @* _. x# S
CleanHideObj.on(0,1); t* G+ Q4 ?# V1 D3 y5 P# y* j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* E) ?1 ~' k; @' P
});7 g) B7 d) Z) Q5 y0 d
|
评分
-
查看全部评分
|