|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 z% A5 V# z" v- I
- y( U8 q3 |1 H# a4 t
火狐插件,用猴子' h' o! t1 ?, _# C
S# E7 w1 `% T! l: M# ]) Lvar debug=false; 7 L e) J* L+ R5 _( z+ \4 V
var CleanHideObj=new CleanHideClass();- Y, U {. D& j& U* ?# H) w
n; {0 K" t- t4 s. M2 ~function CleanHideClass()
' ?) D, H. s y9 H' b; E. P{
$ k1 i- b% A. y 9 b) D' @# o( e5 i# W6 X
this.on=function(id,bMZ)0 U9 a; T& d) q: }% X: n5 q
{
% t* p5 J4 p% `* M3 t) A 6 g6 r- J: L' \; E$ l
if(id == 0)
, y) W' D+ ]% x) j {
u# o% {; f- T- W* J5 k var page=/* document.getElementById("content").contentDocument */document;
2 @2 }0 h5 o3 t this.RemoveHide(page,"span");: V1 k' d8 a5 x k" d/ E
this.RemoveHide(page,"font");" s/ j( R" Q- b) J6 Q9 Q* h" p
this.RemoveHide(page,"div");# a; T6 f+ ?+ a; g r' u4 j
this.RemoveHide(page,"p");
. B0 B9 e" o/ ~ 7 k# x: [7 H' x7 a
}9 G$ D- O* O& l; u( l* d- O
: }& H, M# n3 i1 R# C4 m6 p- G
}
0 j6 |5 i9 z! [. o& c this.getobjstyle=function(node,prop)
9 i. D* \; `7 {* s' }1 | {! Q5 K+ F4 g7 W7 ^
try+ ^8 F8 B3 |" `! J( c2 ~" k7 K
{
8 q# B+ g8 G# x: r! k Q5 { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' u! P+ {& g7 b8 E d$ E }
$ W$ _7 r# S9 [# A% M7 Q catch(e)7 ^6 q- x2 N; h7 l5 f0 [
{. C, n; O1 i7 D8 p1 t: F
if(debug)
~# r$ _* C9 m8 y' Y) D. T {
' N* O3 Z! d0 a. P! k/ Q! V: V alert(e.message);! W3 g: E: P T$ Z1 T' a
}7 O; y; _ h& f3 g8 g
" _& A6 G7 T3 e! n return "200";
; I$ m: Q" [5 l2 j+ g5 J' u }
7 M/ [' @7 D. A+ [& a }
8 d4 E/ f" U; G2 ?# |+ S, o % U% u& G$ Z, {, }: m
this.RemoveHide=function(page,objname)
6 |* d" u/ m7 m% z" _- c* j. m {
( l; [2 c1 e' w+ D3 ]) l/ n2 j try- c3 R* S3 }, O3 k
{1 @0 [# ]! e, R; a6 O5 }1 |
var minValue=15;$ K: K2 F& y# C8 K; E" @7 ^' K
var objs=page.getElementsByTagName(objname); + E% W6 B. G( S1 n
1 U, G4 n* @; {% l. @ if(objs.length == 0)
) l: O2 S" d5 K9 l0 F {
9 G% l: \0 k+ Q( Z4 Q if(debug)
( J J; E4 z' ^- v" {+ t3 I {6 c0 k/ c3 W5 I( Y8 Y
alert("no object found!:"+objname);% s' m1 J, ^$ Q1 C6 I
}
- J3 g* X5 s) J W }
- M( u, ^/ \/ F. v else. S& G# Z8 D( n- Y$ I, F
{; a4 i5 r! M, H# i* Z
5 W) S2 H( @3 b* | c7 U% A7 P; n
for(var i=objs.length-1;i>=0;i--)
0 J, c M @' ] z5 I4 H6 } {
3 M4 Z( J3 B3 w. w, m0 ^) g5 Y& [ H. O# N var node=objs.item(i); ' F- q( P8 F" _& U1 ?! c
/ C R! ?* z6 H) D# b
8 y! x- ]9 j t if(this.getobjstyle(node,"display") == "none" ||
* G; u5 w5 Q( B8 G& p this.getobjstyle(node,"visibility") =="hidden" ||
0 M p0 q; _- ?+ l# W; M parseInt(this.getobjstyle(node,"font-size")) == 0) 2 q2 z" g- U) d5 C$ h. x1 E
{3 y6 L+ }; K7 F* `$ o$ R2 v5 R# I9 g
if(debug)
2 F- g" q7 \5 J% u {
7 `% f" y5 [. L k6 e# ~ alert("remove invisiable!");& G( Q9 P' e5 {2 P& S: m u. y* t
}
0 s+ ]: g* [# H8 a7 W node.parentNode.removeChild(node);7 v5 r f- o3 v+ L
) {6 f6 Q9 s! j- D7 y
}/ h( ]3 _ r5 m7 z
else
' E; ~7 g y& }$ H1 I2 C* h {# n+ t$ v7 p7 d5 t7 M
if(node.parentNode) ) B6 T( X: R2 d8 G& K5 o+ x" q
{3 p( n: Z, }( u! f% [% ~
var orgNode=node;
2 ?: H3 Z, W0 A' b5 @: o* ^0 H/ C var orgColor=this.getobjstyle(orgNode,"color")
$ h2 X/ q; o, R4 j. x! h var orgRGB=getRGB(orgColor);
( \5 t& U% B3 w, o3 x$ T- T" _$ | / j2 }& x8 `2 ^% g. A
var parentNode=node.parentNode! U8 j. {% R+ Y( f
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ^( p& d7 ^+ v- R; `3 R' N % q7 A( \8 X2 m% `
var isLast=false;0 h) o9 n4 b1 q; r5 f. V3 l
" A0 R0 D6 ?; A- O while(parentBgColor == "transparent")
( n6 D9 n- o1 Q8 b2 I8 @ {
7 K3 X3 b+ B9 h% R, T* e# p . z, R @( S* O6 ^0 U0 q/ P* H
, X$ c f$ x$ w, t
if(parentNode.parentNode == null)8 [: G4 o! ]$ d$ O4 `7 {
{
% s! @/ |1 f' m w isLast=true;4 H8 P v c& O# D9 E$ T6 u9 P
break;
; D3 m4 ?" U' x* W& U, d% _ }
8 H5 Z, B% n, M) A* E8 A [5 I0 F parentNode=parentNode.parentNode;" A, f3 s5 E' ` S F1 T; k
parentBgColor=this.getobjstyle(parentNode,"background-color");
# w3 e( N! p2 p& X" l" M: U3 W' D- K r! N$ S7 N
if(parentBgColor != "transparent") 1 S+ H2 g }: n5 z; c2 d4 F: }" o
{; `' U% F, N2 M) f; J+ R! T6 X
break;
( y$ K& k/ L' `: d# r }
, V6 F" R6 c" |* B7 S& V# H3 t- t }& n, y5 N& [6 u9 {8 ~% |
if(isLast)
) q9 t/ n5 j# S) q( h {: V# A7 a- @% n
if(debug)! l6 X' y* V, c% w: R
{
- [" m/ r1 I- u# R9 i6 V alert("last!!");# T4 |! J3 O- v
}6 F7 u6 B# _3 q3 V r/ e, p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. M; a) E0 w. R {( ]6 ^5 Z9 N9 b1 E
orgNode.parentNode.removeChild(orgNode);
0 |+ |. U0 ?) a7 @& Z; U }
. |7 q: X. h% c2 q }& G9 j* }9 j Q' h' A$ A i
else
. L& ?7 q. A6 l$ y- Z {
% `7 [: z8 o9 h if(debug)1 V- F& M: m, Y6 d: ~& C
{5 r! n1 a$ m6 R) D% R1 _
alert("compare color and parent bgcolor!");- i0 ~( K4 @. u e
}
' d2 [8 y' O3 o$ b$ z parentBgRGB=getRGB(parentBgColor);
* a* s" B" o6 I# Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ c/ B, l0 G! l: K/ _$ k! q2 U {7 ]- B k2 v* V9 r+ a, n$ `/ H
orgNode.parentNode.removeChild(orgNode); 5 }1 p S9 t, ]
}
- {* k7 Y# T# e8 } }
9 b. Y; `/ y% ^ }7 Q# j# P: \. z7 R! [& i2 u' v3 l
}$ h: o3 ~7 Z9 n; V! e* |! b
}
, H/ X, e* w g' C2 v# G }+ d3 N+ b+ Z& M) y4 d
! P5 _- c& x: O* G* U/ C5 j" E / J. `1 c) j( q1 }
var itemFrames = page.getElementsByTagName("frame");6 u0 ]1 _ L" f* \& l; A' t
var itemiFrames = page.getElementsByTagName("iframe");
- U3 ]: b0 F# Q+ n" G7 T3 ? . x$ M4 |/ E! t" h( W
var frame, iframe;/ A& \* j7 B/ X' R0 Z- U
if (itemFrames.length > 0)7 \. L5 G, U' @! `% Z e: I
{
2 o! ^' i, P6 a2 O* ~, Z, _ for (var i = 0 ; i< itemFrames.length ; i++) 3 _) B3 [3 W: ~4 ~
{
8 W5 Y4 z) M1 D frame = itemFrames.contentDocument;( y, G0 G6 Y% o/ I7 @# E. ?: b$ \* p
this.RemoveHide(frame,objname); & I7 L7 D' f7 R. N9 z& m
}1 G& w, \/ l- j$ t4 u7 _. b7 G" J; r5 G
}' K; J/ y9 o& ?' D5 W. L9 n
if (itemiFrames.length > 0)
- Q- S/ @) c$ L$ u' S1 p+ v {
% W% C! u5 `2 D1 ?. I for (var i = 0 ; i < itemiFrames.length ; i++)
% M2 \2 x& Z- S( w/ q$ c {
+ P, f! e+ `' L$ R- `& B- J- I iframe = itemiFrames.contentDocument;) H" k5 w9 B6 i% `" z: l! n& w
this.RemoveHide(iframe,objname);
6 N% \$ i# t' L2 `( X2 | }
/ K7 s, f8 Q, b$ C- X }% i% ?: F# y! i; P# C, x' h
}
, m! h7 k& Y7 }( B catch(e)3 [. i0 y9 d8 s; N
{
. W1 [8 Y0 Q7 M6 O8 y if(debug)
* ^0 u$ |, \" }" M- N8 A {
+ v8 x; K0 q& G2 J alert(e.message);3 Z+ Q$ e$ l$ O [
}
- q! c. T7 k) @0 S' U }: A9 x o# E# f
}/ H- i& L# ~% E
2 {8 L* ^) `# t$ M
}
! i% o& a* S& _
- |% _' C0 K- X9 }function getRGB(colorString)
7 Y1 T2 V) q7 a# e4 {% _) m{
' N. x! T, y* t9 B var RGB = new Array;$ z; \$ X5 U1 l
var tempSting=colorString.substring(4,colorString.length-1);; o' A; d" _( N8 W8 [
var tempArray=tempSting.split(",");
, ~. V! }6 C& B; W3 x
1 M9 q7 C8 J( ~ RGB[0]=parseInt(tempArray[0]);
+ k% ^* w' F9 U. _5 b& H4 K RGB[1]=parseInt(tempArray[1]);
; U' {; e2 W; b I) j) O' C+ T RGB[2]=parseInt(tempArray[2]);
1 S: k, S8 l+ z I- `* N) z- @0 k
+ x; F' }6 x5 }+ N- v3 h# [ return RGB;
8 ^2 @4 t, h* h/ ^0 u [}0 Y7 V- h6 Z9 }: U- u# `
function keys(evt) ( @$ }7 T5 H& X `: [
{ $ [+ ?. l( u$ F
if(evt.ctrlKey && evt.keyCode=="81")
% \6 L2 g+ u3 f- O& r9 c { ( L/ s4 I, D: N1 E2 K
CleanHideObj.on(0,1);
: f: y7 @* k4 I. E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 A! R: N2 e* k) V5 Q
7 @% U$ q, @/ M6 p, f4 q3 g }
2 T2 [8 A* z. b2 b8 Z8 e2 b } 0 T7 C4 o; {3 X* c# r
document.addEventListener('keydown', keys, false);
2 I% b7 U) x U! @GM_registerMenuCommand ('Clean Hide', `2 b( ]8 t. Q+ C$ u3 _
function(e){' I9 v! A% v3 o4 {
CleanHideObj.on(0,1)# h; g) k( Q6 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: X E. a; B# v2 `; f1 ~7 g" I});
' W$ J7 N; [, B8 l2 F* U) t. B' h |
评分
-
查看全部评分
|