|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 T6 l/ {0 R M: D+ [* l. W
2 k( D( j4 X6 A! o+ |' D火狐插件,用猴子
* e- G4 h) {' `/ _+ H# G {3 O6 ]7 e9 u( q; t
var debug=false; - i+ C$ w$ j: o
var CleanHideObj=new CleanHideClass();
) L4 S" D# y3 s" M2 G' x
4 Z; P( \1 t7 n: A) C% `; `6 @function CleanHideClass()
' l% c3 a' F6 P# q3 y* c" H{ / `+ q4 J7 L8 `( S: s
' v2 W& y: p, F; R4 m' O9 l
this.on=function(id,bMZ)
% I# @: b! _% O! y' E! o+ ?" K- L$ m {
* H* @* K5 v8 t# I) o9 L, l1 n% V
1 j$ v, s6 ?7 B4 z if(id == 0)7 V$ o) L; W% T# p4 n5 L& `
{
1 w6 P t$ N1 i0 J var page=/* document.getElementById("content").contentDocument */document; / c, `( v/ j( _, c3 W+ @% g0 Z
this.RemoveHide(page,"span");4 n f5 a+ _& m8 j8 q9 q
this.RemoveHide(page,"font");
7 ?: g, k; d Z3 g& | this.RemoveHide(page,"div");9 I4 `& q1 n& n, y) U, f+ N
this.RemoveHide(page,"p"); G# C% G$ ~ _' E7 \. [2 F2 C
8 S+ z4 @8 E: B% k
}
. L! |. K) g9 T7 V% W, \) ` & Q& ]; A" ~# F
}
1 O6 }& ?+ O+ X this.getobjstyle=function(node,prop)$ t" d \; b9 j: c( p W
{
) w% s6 M+ G, `) x0 y) p try! F8 Z t, P- A
{0 S; @! ]; R) o; C3 G4 F
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! b' o" y' s, v: d& d+ A
}
; p: A6 \( D3 P: N catch(e)% R# ~$ ]" E, v: e, ^6 C$ n1 v
{
+ M/ `+ P( I) f- @; t; B9 y if(debug)8 A% b0 M9 F: F1 T" Z7 i+ F
{- c% {; r+ Y3 G
alert(e.message);& c9 q7 H; J$ B( m
}
, m5 X4 s! _& l
! F' r" a. W" |! c return "200";7 |2 F% {$ y G. ?3 ?" t+ R8 |
}
4 |+ @* n; ]$ W" @ }- Y$ h3 D1 W4 Z8 |
, S- O8 _' x8 j4 b1 `' v this.RemoveHide=function(page,objname)8 u7 T: ]+ ]; ^+ t) g% x. A' W
{
6 v. x1 y7 I# D3 ^ try$ t; h. _. M) {0 @# ]1 R
{
, y4 F1 B9 y% ~. j0 { var minValue=15;
' ^+ q5 x/ ~/ Y2 q1 y var objs=page.getElementsByTagName(objname);
" M# \2 f; s7 H. [ C% Q7 T) c0 ^
if(objs.length == 0) 4 x) Z4 c/ M1 D! L m
{
2 t: Y/ c7 ^* I3 t1 q if(debug)7 M, `3 d$ z' R; y4 n/ {
{6 D0 N2 A' H! A8 ^: h
alert("no object found!:"+objname);
# R: e6 Y4 G! U8 U | S }' }+ i. w" ^8 f6 Q! B0 U1 O8 R
}
% b6 `1 c0 G2 K else
/ Y9 i7 H2 \1 \ I! h0 _ {
3 G5 X& H6 C) v
' K- K3 [1 _6 h* ^% M- O for(var i=objs.length-1;i>=0;i--)
$ c& v+ p+ F+ M/ Q5 v$ B; m' i {& X9 Z/ ?8 A6 z0 Y
var node=objs.item(i); 5 D& K4 n6 [& y$ ?% ?6 q+ X' I$ `
v) H: o* @1 I% L 3 [8 w. P, ?' H$ B5 _. z. ~
if(this.getobjstyle(node,"display") == "none" ||2 k8 F4 T" p2 L! v& k% P
this.getobjstyle(node,"visibility") =="hidden" ||, X1 |( `- W* K$ g+ {# z1 i
parseInt(this.getobjstyle(node,"font-size")) == 0)
7 }4 V& v# k1 f2 w8 y {1 \5 A6 @& F7 q" L: e: O
if(debug)+ f8 Q ?5 @* w+ q
{' x0 \) V" Z+ v* |- T4 _
alert("remove invisiable!");
' E' R& {8 U% S8 |. K/ ? }8 D( y! v4 y. D
node.parentNode.removeChild(node);
9 ]/ {, w. _4 D" _8 m , W# U4 P. A v5 k8 @6 [ e
}9 p: A6 H/ u. B* b
else
9 C# r5 e1 G$ r/ T1 }. H {6 T7 v+ _, O3 ^1 ?$ s1 K* E! D
if(node.parentNode)
' _: c* K1 @- Y) L {
' V A5 c4 U: a var orgNode=node;/ G4 n% x# g: k' r. o9 ]
var orgColor=this.getobjstyle(orgNode,"color")
g8 G; l5 j. h- [ L$ e var orgRGB=getRGB(orgColor); ; T$ l4 x" T" i; ^/ E, J) t! j
; ~3 ^; E, ?" f1 O4 q! D var parentNode=node.parentNode' c5 b: }8 A4 ]( H& k! @9 ~: G, l
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, x# Z( K, ~: ~# f) B % e$ U' W# z* ^+ T4 D4 _ f
var isLast=false;
R& P2 w5 K5 G3 o2 d) @" v 0 _: f! M! i9 u. T* D: N, a
while(parentBgColor == "transparent") ' _4 o; F& y% d, W- M6 W
{% l& ^+ W! E& I6 \ s* Y* i
/ H# U9 D" O1 n 2 A$ \, U/ h- l5 x% ]
if(parentNode.parentNode == null)( K' ?" B5 k6 W7 q& v8 O0 Y0 a" N, X
{
4 W, W' G0 ^: K* L% F isLast=true;
7 b/ U0 |6 h7 v- l! `% U/ M/ s/ x. Q break;! [% [8 ` F* C) X* l8 |
}
( ^- \; O# G$ S2 m6 n3 j parentNode=parentNode.parentNode;; Q! \+ @& V' b: J7 w4 _
parentBgColor=this.getobjstyle(parentNode,"background-color");* J$ }8 I' h, X6 D# `& E5 g
1 w% e4 H- j5 D$ ]3 R
if(parentBgColor != "transparent")
# Z& y" \; s5 v, r2 p: h {( F% k+ Z! A$ C1 I: {
break;4 d9 B' H8 k) g/ y" `
}/ p0 e- h5 W! m% T4 u- D+ p
}
; {( g5 q6 H; F5 {2 ^ if(isLast)
9 v) }+ }7 v' f5 v) L+ w { h! P, r0 u* ~* o$ h+ j; c
if(debug)
# F$ t5 ^% I( x. l+ y- ~$ t' o {
2 ]0 {( |- c) W8 f$ R. ? alert("last!!");$ q+ r9 _5 j, _: e# F
}
/ X% n* ^, l+ T0 ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). P" x8 x U9 ^1 j7 h9 d
{
6 u$ Q/ ^9 O* n+ `" w. b orgNode.parentNode.removeChild(orgNode);
% T6 M, s* R* ~- N( A9 N6 C/ r }' o* M. e6 i j; {
}+ X7 ?0 I, n( ^/ x/ d
else
; Z' D) K" u, i# {6 b5 w- x {" e L$ y* W( m* @/ Q! P9 a
if(debug), l' s9 o3 N$ n
{0 x2 o- Z8 a! m8 ]
alert("compare color and parent bgcolor!");5 \/ m, q8 J9 q9 E7 @8 }
}
6 [0 x2 y' U. o5 T$ X0 Z" r; Z parentBgRGB=getRGB(parentBgColor);
) J' Q) L9 i$ V, M: D. \9 v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 y% c3 T/ N" o* B
{
, l4 R/ V, r# ~& Z+ s1 F1 [) O orgNode.parentNode.removeChild(orgNode);
& _7 u! r1 B* `. X3 Q/ B }* W# F6 c" L8 i
}% h6 d4 y' x$ K; t" Q
}
& N5 x9 N. F2 y* r# b5 z) j9 @ }5 l5 F9 I |$ k; p9 O( l
}
9 j+ h/ \' E3 d4 ?# m( N/ `$ |4 o" } }
$ `: `+ ~0 I- }/ _7 F ! l6 Z4 N& m4 n3 `' ~
- e0 j) @$ Z5 s# b9 f4 U var itemFrames = page.getElementsByTagName("frame");
1 V9 H: X+ R1 ^/ i: e var itemiFrames = page.getElementsByTagName("iframe");
; ? A, j. h3 i' c" F
: m; E p: d3 M0 @1 w var frame, iframe;4 U* Y# s, g- W) @ ^" h9 H- x3 N' C
if (itemFrames.length > 0)' z, J4 e: C1 |9 U* x( {5 |' e% m
{- Q; u4 F& w/ f8 E+ U4 c
for (var i = 0 ; i< itemFrames.length ; i++) 7 ?8 d- j t1 F' a' c2 M
{) ?( F) ?# i1 l& w# B3 o+ X( ]% u
frame = itemFrames.contentDocument;
4 u( K1 j. r; m8 p this.RemoveHide(frame,objname);
* ?( T' O+ W2 v+ T }' S+ j, q5 [, Y4 h5 K5 a# W4 X7 H
}/ x: g9 N& u" r6 s" h" L6 E
if (itemiFrames.length > 0)- {5 U. A- \; l" H
{
( {8 e& T4 q+ N! a/ h/ x for (var i = 0 ; i < itemiFrames.length ; i++)
( c% c; `8 M' f: w {) F2 Y/ ?0 r; q, s# f
iframe = itemiFrames.contentDocument;% A% ^+ k9 H( K: x4 _0 z
this.RemoveHide(iframe,objname);
; P6 @, s) ?% p% U5 r; Q }
9 h3 ^; K1 T c" [& ~( w9 p }* w/ x! q# U% C$ {! x6 t% i
}
2 e6 u: d: V% y& F n catch(e)
, N8 H2 Y% E! }4 W* l3 p$ n {2 J" Y1 z% D" V5 P G `" R p5 N7 D
if(debug)3 B/ S/ O" K" t& \% i
{
6 e6 J+ t, \ T$ h alert(e.message);
G0 H# b$ x: v& d( U }
3 v e7 T& y% E! O8 C }
. d2 L" i6 f. t7 Y" u# ^ }
* C F' M* m+ X$ a
* O* E$ p O9 f0 }0 z; G8 z}
@- u( z" j/ ?& p1 T3 _7 K
0 [: H% Z0 L5 A' rfunction getRGB(colorString)3 \( {) ~% c6 k
{
5 D, q9 v' e& r H$ ?: P- A var RGB = new Array;& E v) e1 l6 y. b% g7 `
var tempSting=colorString.substring(4,colorString.length-1);: |. H+ f6 c- m7 q; L! \1 I
var tempArray=tempSting.split(",");9 W! i, P1 l6 b; e( Z# m
; t7 W, W3 J) Z0 v6 w2 h- ~ RGB[0]=parseInt(tempArray[0]);
/ ]* q' r3 C7 C8 z! Q RGB[1]=parseInt(tempArray[1]);
6 L- y2 d% T1 ^/ M8 Y r4 a( D RGB[2]=parseInt(tempArray[2]);
% b- G; M# u2 P8 r+ I& r, G) p1 s! |0 w - H4 o6 D9 e' t9 V
return RGB;
2 p6 ?& X' e# a}
7 e; L, B# P" f9 a" F; l& {( ufunction keys(evt)
3 B) j8 D' l5 c' Y1 n { 9 G) S H0 P) I* T! M+ a
if(evt.ctrlKey && evt.keyCode=="81") ) t9 i% ^ k: u& J$ b( m1 m
{
! b+ w S7 g8 j% T. k CleanHideObj.on(0,1);! E) h( g* h `% a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % D0 o% N4 O. ?2 V& F' b
+ m! g: E9 [; r2 Y, p: Z" F
}
3 e" c' R+ q( S3 N6 v* W S( x } 2 x. M$ w2 a) N$ N
document.addEventListener('keydown', keys, false);
3 R' M) P# O% t6 e+ m! i- R* r }GM_registerMenuCommand ('Clean Hide',, B4 u1 ?# @/ g7 C
function(e){
8 i, [3 W$ f+ C6 q/ CCleanHideObj.on(0,1)9 } |/ P2 D9 C3 J2 `2 d5 c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 Y( ~9 a; ^6 o7 v- t; `
});
# V" r* g- _# ^' h |
评分
-
查看全部评分
|