|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: i/ Y8 V# z& H: p& D( \1 E& c; W+ M' `1 Z3 p& B; y* W1 o" A! C
火狐插件,用猴子
+ K( U! k& \7 _7 h
$ N! ^2 @1 T4 v$ rvar debug=false; * S/ J$ K6 D1 Q P. n
var CleanHideObj=new CleanHideClass();2 U7 [; w) Q v- K2 H
! e/ F& v! ^" g, ]0 w% Vfunction CleanHideClass() - n8 f4 o2 C; u
{
, B. Q4 ~. O2 r% X$ }$ P) p
2 T$ t! d* l! o% o7 ^$ T+ P this.on=function(id,bMZ)" o% t* X* p, [/ ?$ c2 c1 Q; _ c4 w$ X
{* z3 Q u9 o3 f9 h, X
5 g$ q4 e1 V: Y; A4 [/ }& z
if(id == 0)
. u3 `% Y- K# q5 Q0 N; w {
1 w4 h0 M: Z# ^* T* f5 N* K var page=/* document.getElementById("content").contentDocument */document; ' _0 M1 O0 w& P5 f
this.RemoveHide(page,"span");
3 C6 c1 Q1 w; D3 ^ this.RemoveHide(page,"font");
) b) y$ I0 U% }6 G this.RemoveHide(page,"div");
( x* @6 k: w/ P this.RemoveHide(page,"p");; E# ^; O$ f8 X( h6 i u
: ~8 X$ k. y; r' Y6 Q# N7 R6 S' T }
8 Z. v* v' ~: z/ ^( @$ ^* n* @' N 8 L7 _; y2 b1 B& x
}, ?* R: N; J9 a3 i0 y0 Y
this.getobjstyle=function(node,prop)1 ^) Q3 a/ |) Z1 A& ~/ U
{6 J+ E, B) `0 W
try, Z3 Z% k1 k- [( M
{
) M3 H; p5 T1 ]2 n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, f: b- j4 S* C
}
1 P% a6 ?1 ^) \ catch(e)* ~8 G" s4 s' y8 |) u* D
{
6 o& o0 m* H5 }7 d# ^2 e; M; X if(debug)
1 R- O: j: m( r, L3 G! p6 C {" Q* v+ {$ t5 T: V; n' Y u
alert(e.message);) c6 s" r* t7 ^; X+ [4 o
}( z: A% e! H0 B& T: S( b" ]- ~# v
/ { J: p/ P x- x7 G. r
return "200";: A7 q9 t6 m' p( G
}
& _1 d1 {! J. b3 f( u. W }
+ n! N! D/ o+ A) M
) R2 j7 S$ s1 S# b this.RemoveHide=function(page,objname)
+ ^' l8 e6 F: D/ o+ l {
+ l- u! G2 D' g" K# ~6 i try
5 f) ?3 Q. r+ l Z; t {# x$ M1 c5 e1 [# v6 u
var minValue=15;& r3 c% x; R( U1 ]$ u
var objs=page.getElementsByTagName(objname);
$ |, }# ?- t. {* Q6 D3 O/ b4 X: P1 k. R3 r+ f3 P
if(objs.length == 0) $ D' R3 b6 x3 v- L; C' r
{
2 _/ x8 K1 ?( B; w' y0 K if(debug)
" R$ ?7 q+ [6 o5 T( ]# _- @. n. j9 S {7 _3 k5 P% T. m$ T% g
alert("no object found!:"+objname);
7 C9 S# M7 @) ~+ ~ }
; e7 W! i5 W9 t8 i }
% h. L; N3 }; u* C$ g9 O( l else* A( c6 U: h& W8 Z! Z. V; t1 Q
{' [1 o" a0 y P
) ]% ^: o! P* M6 T% f5 h3 r
for(var i=objs.length-1;i>=0;i--)
S( X$ \8 h l& U. g. j { a V2 M! B7 i- K7 y* k
var node=objs.item(i);
& T5 E" O# Z$ j$ r( D$ t. z* f9 K t2 U1 y
, H; I1 b: d8 a & \8 O$ Y3 }5 |; H
if(this.getobjstyle(node,"display") == "none" ||, E: ]) G: I+ E, Y
this.getobjstyle(node,"visibility") =="hidden" ||! m$ d9 B( l9 ?( ~: ~
parseInt(this.getobjstyle(node,"font-size")) == 0) : [; y. [$ e$ Z: B2 I9 i' Q5 E( t
{
5 k8 ~. n3 U9 ~1 E- {# s- U3 T if(debug)4 E) b0 i4 O1 Y& U' R9 s
{
. K1 p M0 s, N* I6 q. J0 f alert("remove invisiable!");
/ M# k* _$ |9 o' p% ]' L X& k }# @: E& B' Q/ O+ K) d
node.parentNode.removeChild(node);$ b5 S$ y! G( `7 N: Z3 ]/ E
8 z6 M/ h4 ^! h0 ]5 O/ `0 ?
}
7 x0 f7 e3 }5 i; A* h7 u1 S else 9 F8 x5 O$ w- c" {6 n0 x8 |0 E9 m. B
{# E. C Z0 P" U1 `0 n
if(node.parentNode)
9 [, T# p5 G1 q: R2 _: ? {/ Q2 F2 k, Q3 e' k$ c$ K9 g0 X
var orgNode=node;- _# ~$ _; E6 q2 ]5 x* P
var orgColor=this.getobjstyle(orgNode,"color")
, U6 |, S; n, o1 J/ o var orgRGB=getRGB(orgColor); " y' I8 s R2 L; O! V5 E
2 ?' ^/ O! @& p0 _9 M/ ~& C
var parentNode=node.parentNode6 [8 L. G6 p! w9 X9 W! a" V( [: g
var parentBgColor=this.getobjstyle(parentNode,"background-color");. f' R; W# q$ m8 m9 v; h) F9 o
0 \/ Q$ m" R& j; l7 }% \8 r
var isLast=false;+ w) }# @ L" }" w
# D+ ~: Y8 q: }- Z+ ^. j7 E9 x O while(parentBgColor == "transparent")
$ T& G! N& U, {' W9 v( G$ |# w {# t% I5 x, G; ~. D6 m& Z( s( ?8 L
- \* ] w! [9 s5 c
i# G v2 B( V4 V/ `9 d8 w
if(parentNode.parentNode == null)4 m e; c1 w' d( B
{: Q7 p# h) N# m0 Y4 x
isLast=true;
, O8 L5 d- j; E- n1 @6 j. Z break;$ n+ w8 [ ^# r
}
: l8 L8 Q9 K: ^6 s parentNode=parentNode.parentNode;" [3 _' W; W- ], c
parentBgColor=this.getobjstyle(parentNode,"background-color");1 }0 v. s9 c& h" q3 w/ c8 L
# o% A6 O$ m8 Y* e) s if(parentBgColor != "transparent") , O ?. v" D0 C" r$ r4 E
{$ j) H4 n5 `0 ?1 n/ J4 M
break;" P$ B# ?, r( i' A# G
}
8 B0 m* _: ^( h }
% m1 ~0 l( }# f3 s6 E if(isLast)
: ?7 u) l# l- l0 ^" f/ V+ n {
/ Q) s4 c* E1 `1 U if(debug)$ t" Q6 g" t: I* @4 _
{
9 [' H# \; `7 `* d# g4 l1 S, c# q alert("last!!");) J5 m2 B8 }3 B
}
0 V3 v* O7 l |! x/ `7 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ D/ N, n9 M. e: b ?. L" ^ {' ^/ N2 u# ?3 n5 f% [
orgNode.parentNode.removeChild(orgNode);
, O' b; Y2 m: o }+ g8 z, j% x$ h7 w9 ^4 `
}2 M# y& @6 u. @. K& @- I7 f+ y
else
5 N9 S- W6 e& U# ^( ? {; ?' X7 F: E0 X4 S/ h/ q7 S. u
if(debug)3 ^8 z/ K7 g6 h) V2 n; a6 h
{3 w3 |5 Y5 q y4 o9 A
alert("compare color and parent bgcolor!");$ M) h9 W! g! C2 q/ x- F
}2 D9 h5 W Y. q
parentBgRGB=getRGB(parentBgColor);; @! L) [- |: X' m# @* Y# c; U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 T2 w. [* P T9 E {
T- `& w: B2 j4 h orgNode.parentNode.removeChild(orgNode);
+ r: F$ a$ V: L) }% `5 P }% m7 H( d( m% _$ ^2 I) u+ T1 ~
}
% E% ^5 [: p7 s( D& c8 T }
. S( v" n1 ?' s: {( |2 _# A }
+ y/ e& \7 D# F9 }* i }) ?5 O( h/ c7 \+ _! S: a3 b
}
$ d0 P" V3 C% @$ h* m & M( v6 \" U3 q6 u' d# ^
5 m8 Q. T5 ^4 k: Z
var itemFrames = page.getElementsByTagName("frame");
( N) N* O4 d; D. a8 q, E var itemiFrames = page.getElementsByTagName("iframe");" J; D! t- J3 {
! D0 h; n" J- U& H% g. k2 b
var frame, iframe;
1 P6 ?, q: p) @# W! p- o; I' \9 @& z$ { if (itemFrames.length > 0)* g" A8 U I' Q, J/ S4 Q, ] Q
{, H& p- `/ o/ R" O0 `
for (var i = 0 ; i< itemFrames.length ; i++) 1 J: S I! A4 u' n4 V. v
{! p M- W& P( y- { q2 n
frame = itemFrames.contentDocument;$ q$ q( n- O1 n6 O+ M! l0 z9 Z
this.RemoveHide(frame,objname); ' Y- \- o; g5 h; w) N$ J) t3 C* k
}7 J3 q4 X+ V j; D8 `! N0 {
}
1 L) r# a& P2 u if (itemiFrames.length > 0)8 C+ D' J6 L9 \6 ]: p
{) E7 y, D0 D: K% a' r
for (var i = 0 ; i < itemiFrames.length ; i++)
- v# a- H# M& W# m9 J' k8 X& f/ b {+ @! z9 D1 t2 ^) U0 e! ?: [
iframe = itemiFrames.contentDocument;4 `8 i6 d1 ?, E. ~
this.RemoveHide(iframe,objname); 6 v! C- r3 {* c/ o5 p) {
}% [7 o6 L7 q# S: @7 e/ T/ u# G
}+ W# Q2 \7 W7 I
}, U8 v6 f6 _0 K
catch(e)1 y+ D8 H% L8 u2 V2 ]: K& W9 Q
{
" R/ @% w# m0 o! ~ if(debug)) n" U- |) q6 N& u
{0 N1 s3 l5 S5 w! @* s& ~0 m
alert(e.message);/ [/ t4 A' R; F9 [/ @: p! y' {3 Y( O
}) R2 Y. }* t0 C' I3 q: w" `
}
% t8 K: X6 e6 v3 L6 e6 n1 _ }
* _; E8 W/ @3 }: r 2 h k, K; \1 ~' e
}) r: C3 h2 g C4 j, s
& [5 h. o# _2 P1 p4 kfunction getRGB(colorString)
4 t0 s5 {: F. D) p4 r# h. K4 ?5 z/ p3 K{
3 v; h4 [: ]( c, }1 g# Z' _. v var RGB = new Array;3 F7 B$ k6 ?6 U, U! K
var tempSting=colorString.substring(4,colorString.length-1);5 \' F) @- ?' f n' M: V
var tempArray=tempSting.split(",");* i9 H8 i' ~. T& x
4 C/ c& U! x& p) O" ]: G+ B RGB[0]=parseInt(tempArray[0]);
+ r% d' |/ y `4 k i" y j RGB[1]=parseInt(tempArray[1]);# \- @; Y0 d5 d$ N% U, S
RGB[2]=parseInt(tempArray[2]);1 t- G2 Z z/ y" x$ @
) A8 f4 Y! {- Q/ D8 z3 `; c3 D return RGB;
. r3 H% Y' ?1 Z8 i6 C' m}
% v- b* f8 ^( v& B6 ?function keys(evt) 1 S$ z( |$ `1 i: r8 Q
{
+ G) l; l% Q8 h- K" P" b9 z" U4 Y if(evt.ctrlKey && evt.keyCode=="81")
' |! a& U$ W( ^4 T; S$ y {
0 b4 T& s% i5 p& E4 R1 W CleanHideObj.on(0,1);
* ?) M1 P1 s7 u, T1 E" |( | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 O5 j' x/ `* y
5 W, \4 @! G. D, ^- `! {8 W
} * H( ~) F# H0 s8 s
} 3 J: y4 S O; K- A# `
document.addEventListener('keydown', keys, false);
! ?% {1 z. G2 n: `7 w$ a4 l$ gGM_registerMenuCommand ('Clean Hide',
% ?* {7 y5 t8 a1 [: |% F4 G' hfunction(e){
: s; h' h" W/ wCleanHideObj.on(0,1). x( u8 i% R, i8 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); n8 N& F) A6 h3 e& i2 e
});
$ S5 X0 P$ `- X: A) w: x7 M1 b" g+ b |
评分
-
查看全部评分
|