|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - ]: R" b0 b$ E$ r' u; ?+ Q
0 F! v2 O9 C/ \' m9 E火狐插件,用猴子
5 |$ \; y8 D/ K* A' M: l9 n( P5 L4 b
$ M, n. H8 ^* m* Y+ p9 T9 nvar debug=false;
/ R# e( w4 X, ]3 c7 c! D# X' L( ~9 ]2 Svar CleanHideObj=new CleanHideClass();
' G* H7 @, H) {/ V7 j; C* ~. N' E7 }7 |$ N8 a& w y5 _ ^: R
function CleanHideClass()
6 Q5 [6 ]; d. _6 Z{
9 H* c6 j0 q0 H/ Z/ Z8 U9 z# m
- J# s" y4 p/ H" _ this.on=function(id,bMZ)
F! o& Y7 a Q: R. O) x {3 }/ }- M/ a1 \# L, k, x
6 Q: }: g: ?( ~! P3 h ] if(id == 0)
" B: T. _# L5 E1 q, Q% Q {& \7 |1 t# i4 ^$ X B' q; a" G% _" @, I: |' v
var page=/* document.getElementById("content").contentDocument */document; 3 ?$ H! C; p- z: j& Y& |
this.RemoveHide(page,"span");1 Q$ O* T5 z: {3 R" q
this.RemoveHide(page,"font");
( X2 T# ], ]! g0 S( v! P% t3 v this.RemoveHide(page,"div");- j2 F6 V6 Y3 ^. x/ C" f
this.RemoveHide(page,"p");3 E6 i% p! N: m8 j' [4 F
6 Z7 h1 Y% I' L( ? }
' t: y- o' p1 R4 @+ ] 6 [: c( m' c$ i+ a6 Z5 ^' |
}
" R1 O9 O1 O, D; h this.getobjstyle=function(node,prop)
1 i& z9 w, W2 u9 }$ r; r {) s7 A6 @( z6 b+ u$ P
try
L) m: x+ I4 @5 P+ a) _2 { {
3 Q3 r2 l4 v. S7 U, G3 q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& A; V$ V$ f% E# }1 {( y9 B, }8 `* J }
A# m& N0 g2 Y5 v5 K catch(e)
$ ?7 l9 o9 s5 ^, Y6 l, I {
$ z5 C# n) M4 V if(debug)+ p6 k$ l# W+ E j+ Z3 s; j
{
5 _: T) O; `+ k) R alert(e.message);
4 x0 q6 ~ n7 m5 ~1 J }( ~" U- T3 `6 h4 c
' h1 k+ x/ ?/ k: k' F! K return "200";. F5 f+ P* c$ j" T0 N
}
M# ?, E8 K5 L1 L7 s& c1 S }
2 X3 _, M' z' K6 ^ 0 Z. m# n$ W; ^$ E u% @
this.RemoveHide=function(page,objname)
3 C5 ^) [4 Y- ~" ^6 F1 _8 P* ~1 T; u% G {
9 b+ ?" F: `0 n# A: ? try% U7 R# _% a% V5 _( {* Q/ i# |7 z& n
{
( s, w' X" V" |0 \0 c' ` var minValue=15;
' Q) n6 }* Z9 k Z var objs=page.getElementsByTagName(objname);
( v" {" R# |6 y( I3 O$ i9 M! t5 X0 b
- A; ^2 b9 _$ Q+ t, \4 Z if(objs.length == 0) + Z5 e7 [( f. a- Q( I0 `$ U7 S8 R
{2 B& Z$ m% d. i/ {' I
if(debug)0 L, ?& J& l$ d
{
4 S- t# J0 L. Y2 q- N alert("no object found!:"+objname);
) z% _+ Z- p& G/ a \7 Y }
) Z, w, I; K8 z) d. T2 o }
/ `' o2 H+ ~0 z& y9 | y# I else
) d; Z3 Z2 g- O# h# ~, M* q {
, j. T4 l. I k- w! n0 L1 c% Q, w- e / R& ^; h' c8 h6 }1 T
for(var i=objs.length-1;i>=0;i--)
$ B! a" Y* Q' _- O6 e {" W) ~$ K$ E4 k% m+ M H# V. J
var node=objs.item(i); 2 Z7 L; @6 h" m" h |, b1 i9 i
8 b7 s1 K. N `
9 d8 V! o5 h: L0 s
if(this.getobjstyle(node,"display") == "none" ||* s$ @3 `/ U& N0 ?4 P5 v
this.getobjstyle(node,"visibility") =="hidden" ||) ]7 Q+ v) l* ^
parseInt(this.getobjstyle(node,"font-size")) == 0) : o9 a/ m/ M# b& S
{' r* S `, C- {1 ~6 J& d
if(debug)) |, o" ~3 V/ A- O
{
+ p8 Z, |1 f0 B- m3 e6 [ alert("remove invisiable!");
8 F6 e4 k4 n# w! ~! ^ } U7 a2 P5 r) W. s; W$ [. |2 @
node.parentNode.removeChild(node);4 \. \2 l) t2 S% Q) v$ j( Q2 {
% C6 [" {1 x/ l4 e
}
% y; S4 k: Q+ E; h$ g/ p: u! x else % e* I& z: D }$ K4 @
{
( c1 Y" k4 a( W7 @6 K6 w5 i if(node.parentNode)
$ ^0 [5 v! ]& P( f2 {3 k {! _1 f0 b: H4 X* e
var orgNode=node;( y; T- a2 V; I( ^) ?3 r9 d
var orgColor=this.getobjstyle(orgNode,"color")9 ]/ m6 u- `% |
var orgRGB=getRGB(orgColor); 5 W2 P4 h" ]0 Z8 M! r2 X4 z
( l+ z0 f+ u7 `2 ^4 V( m0 c var parentNode=node.parentNode5 t( v% e8 `6 B2 ?1 r
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! ]+ ? f7 x/ `0 z
7 I# C9 e1 j. l8 ?; L" t var isLast=false;& F ~! L. F0 e: a1 g& e3 u
$ @2 M% a! W$ Y8 J! S) x; y- h
while(parentBgColor == "transparent")
4 q; N/ }1 S. e( L: J) D. ] {* P5 V0 ?3 h$ Y
" S( v' g$ c! h3 ]1 W7 I, x " e0 @4 \' H2 \ i
if(parentNode.parentNode == null)
3 j, m2 v6 V) X0 y' u {
: ~0 S& u3 }% [; f$ a I isLast=true;
3 G1 z& l9 M9 q* _9 X3 { break;0 y, B5 E/ U; \, Z* b) q0 ]8 x
}3 j7 j8 l5 S* m) z A' d
parentNode=parentNode.parentNode;) S6 H9 P, p5 _" V( a
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 I2 y" M7 Q) {% Y: T3 B9 J0 P- @9 ] s+ b; E9 j9 R4 Z8 ?
if(parentBgColor != "transparent")
/ F2 a7 t& s6 x6 q( a, ]; | {
5 [+ k4 G B. } ~2 M ~ break;9 e2 \6 E; c8 J: C
}
0 b7 k: C9 _8 {+ G4 s }- V# E6 N" F! j, `, g, R! m" J
if(isLast)
+ {6 _1 u4 L6 z7 H: k {
' o8 ~* Y7 w% b3 B5 e3 }- j if(debug)* d1 \2 ~* V5 C1 G- _% P d
{* k1 Y) ?( ^; W* n
alert("last!!");
+ Y7 Z; v# Y, h% w6 I }
2 h% h! n3 `7 P* M9 M5 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. F! `7 J5 }( D3 i" Y {+ {2 k) p/ `" k% Z" Z$ y2 o
orgNode.parentNode.removeChild(orgNode); - K) e# |, Y ?, @/ ~* k- ]3 f% Z
}9 Q% x; k) d; B# z* |4 W; o
}0 ~( `2 V3 |; p; }3 m/ j
else, W. L9 r8 L" k2 T
{
0 b( c( d% N$ m7 y" C" }* @ if(debug)
5 ]- w. E l \ {
$ F8 a. \5 W V6 O alert("compare color and parent bgcolor!");
* T" n; e# v8 ` }
& P5 ], R; W* x5 H+ ? parentBgRGB=getRGB(parentBgColor);
. j, A7 Z9 D2 y" w {- v P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% y+ }$ f; r$ w
{; J! C" j, [& [) A, c( r/ ~% q
orgNode.parentNode.removeChild(orgNode);
9 Z1 \0 I6 G9 b3 P+ M% d" g }
/ C1 Y1 f: ]! n8 h }" k1 r8 _# W: O, \3 p: L7 {
}
2 C7 `# o4 @7 w X }: b/ b( L# c: t3 j' K9 N
}
4 z( Y# v% H& q( n7 | }
R( p' g$ d1 N! v, d& }9 o7 `( U % G* W. K; D4 m: s0 k6 Y/ t
' j+ K3 ]+ C: z9 g g- k
var itemFrames = page.getElementsByTagName("frame");2 m9 E- b7 W* |
var itemiFrames = page.getElementsByTagName("iframe");
( f9 N- S2 B3 e. H# F * x9 R( a: y1 W$ J+ w `9 g& Y9 J3 M
var frame, iframe;
2 G, u% C, }. \4 |6 a* C" L if (itemFrames.length > 0)/ ^/ A2 t k5 ^% ]3 | D7 V/ u4 Y1 k
{
1 E* t: a& S, f: Z for (var i = 0 ; i< itemFrames.length ; i++)
( J. D1 Q. Q3 h! @6 P q0 n {
2 J! S! B( h# h6 \, b frame = itemFrames.contentDocument;
0 Z) Z/ {, E$ F: D8 L$ U9 z this.RemoveHide(frame,objname); 0 X- Z+ Q5 X' C
}& x0 q9 ~( H) H& m$ Q
} W, A0 Z: w$ _
if (itemiFrames.length > 0)# M, |; P! S; e/ N* {
{- X/ t& L1 B: n3 \ y( {
for (var i = 0 ; i < itemiFrames.length ; i++) # Y8 }& M% G/ ^
{: [6 U+ `) P! z0 ?
iframe = itemiFrames.contentDocument;1 O) l4 w9 g# C2 \7 T
this.RemoveHide(iframe,objname);
# d, U/ G" _& t }
% o8 u6 I- v( f2 T }
6 V; P$ f* f+ V2 a( o+ N+ J* M8 j: C }
& d5 Z# y* s$ ?9 q catch(e)
0 z0 i* W* x0 V" r {
7 k; r# v/ h4 o0 s( [, [ if(debug)
4 \9 ^7 i+ N/ @% W {
- x. u1 p4 n2 r4 U+ n. s+ R6 T alert(e.message); T' q, P+ E; C% Q. Y
}
/ O' j- H9 |1 j }7 g! {3 |# I7 g) Y- c7 v
}3 l1 D! s9 N _2 j
5 C* W3 ]1 M p1 ^0 d H}
" z3 N1 q# u1 e) s; j) U
7 d1 h* V `9 w9 P1 B; Ffunction getRGB(colorString); a E( h# G. [5 \, j2 u3 _) P
{5 b& U- J5 j' T: ], _. d
var RGB = new Array;
3 q) ]1 o; `2 r! m var tempSting=colorString.substring(4,colorString.length-1);- v( h- d i. p% z- o/ L% t8 \5 I
var tempArray=tempSting.split(",");! r' s! F1 w' u5 Q9 i0 h, L
/ S! ~/ j h6 t% U4 b- [6 t
RGB[0]=parseInt(tempArray[0]);9 b+ C2 ?7 H$ ~ s2 S! E# o
RGB[1]=parseInt(tempArray[1]);0 K3 E5 ^; b2 h
RGB[2]=parseInt(tempArray[2]);
' S8 s" j; b# ]" u, g) m5 _3 H
: t5 H0 v6 x. l0 h v2 E return RGB;) C' w9 p/ z' l# Z# j# O
}
: G$ g X$ L4 ~function keys(evt) : ~6 I1 `0 [% ^/ {$ C) K7 y
{
* f' i/ V2 p% U, S9 T( O if(evt.ctrlKey && evt.keyCode=="81") % e* E8 F9 {* z& X" s
{ + s! Y6 z- k) }; s
CleanHideObj.on(0,1);8 u, l& a2 k8 O& h. B4 k6 b: P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % W5 ^8 [: `" o2 q# T7 d
9 u' z2 r" Y/ ^
}
9 `* v: C! Y3 {3 \* A r' F } ; l: V$ M9 S% [2 B! R# H
document.addEventListener('keydown', keys, false);
1 ~: g* m* d! K; ?* @% {2 M$ pGM_registerMenuCommand ('Clean Hide',
) [& A3 V0 T* Ofunction(e){
9 S; t- _1 ^; w. cCleanHideObj.on(0,1)
, w) h9 t& \3 a( malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 e8 x! F. O( d. O6 o0 j});4 Q4 m$ ]2 `7 @
|
评分
-
查看全部评分
|