|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 S5 r3 P5 ~. g+ H( ?8 Y
% \- G6 U+ j: F火狐插件,用猴子2 U! X% q; R6 j- a8 R
5 I4 p& ~6 O$ f/ O4 q) [var debug=false; 9 }' L: m% X9 J" \8 F
var CleanHideObj=new CleanHideClass();
* [0 V4 N# P9 _5 ], J6 s6 K
. b' W; y Z1 o2 ^* }, f+ xfunction CleanHideClass() , `- n5 P/ {$ ?2 ]
{
, S# H( ]' z: s9 M2 L6 [
2 _4 J) h4 V4 R( h$ R% N( d# _ this.on=function(id,bMZ)
# A' R! a9 G6 `/ K) D {
- O. |8 |/ X' n) p7 U& R + N- \: D% y( M" }
if(id == 0) x* K- B8 s# i0 V
{
% p4 v6 d9 }- k0 ~6 X* A$ C, Z var page=/* document.getElementById("content").contentDocument */document; ) m. Q- K" `3 M; I% k
this.RemoveHide(page,"span");3 N% t( Q9 q% R' X4 H
this.RemoveHide(page,"font");
8 {2 M' E1 g9 k, }6 Y1 h) h J this.RemoveHide(page,"div");
9 m2 |1 {1 [- {8 e0 G1 [ this.RemoveHide(page,"p");) C9 Y/ j. V" h& F" @
% \( y& |8 j. C) W$ ?
}
( i$ s1 X+ |8 J% C 2 a- p0 M6 f- @8 t
}+ Y5 \ d1 e5 J0 i- q, i
this.getobjstyle=function(node,prop)
( G( U! h8 R1 r) k* n( G2 x {
8 {- [; A) \. r8 c try' H8 v9 Y/ `! T3 m
{
( r% G' |8 q) e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 B0 p3 P. D7 E
}
: `1 N& X* a" N8 k) H& T( i catch(e)2 r7 J' ]& _+ e9 `1 _, ~- Q
{7 B6 I3 k* R9 n6 o" g7 ~2 H
if(debug)
# Y5 {, T8 J: r& Z {$ v5 O1 Z2 r- k. f! V0 E6 N
alert(e.message);
/ i, n% u6 B9 t( y }
2 i. u) D: m3 p& m. x* P% O 5 o- N2 u( [0 d: ~' N
return "200";
9 a# i0 b3 W; G# b& Z- V }
/ T9 a4 F% }- S* C; S# R, ^ }
0 @! R( s$ ? s, {
- _4 z" h9 y! v this.RemoveHide=function(page,objname) L. ?# E$ Y% m, B- o1 q$ U9 L
{
1 Y8 |4 v0 O6 G" X) l1 T try
7 M2 p F) x' ^+ R& `- ~ {
6 t' y5 j# }# r% D8 T9 a' L var minValue=15;6 H1 }0 k$ c F9 U
var objs=page.getElementsByTagName(objname);
7 C h- g8 U8 p2 A9 Q( D; z
1 \9 Y* E& S* \ if(objs.length == 0) ' i5 R4 d, [9 {) p3 s3 p3 q6 @
{8 b, @5 e8 @ t) @/ Q. T7 ^" L
if(debug)5 D1 H" G4 M2 r- c; r/ C3 J7 P I
{" o5 {0 u7 \9 q& Z7 b- D* s" |8 o
alert("no object found!:"+objname);
- J' ]5 Q* q$ _ }
. r9 P! @* {8 d f+ s4 G G }
0 d" S3 Q- O# n/ S else
0 Z0 K( b X& T {0 Q6 h& g1 Q4 h5 l' r+ o
/ e) Q" |, i7 y3 h' s" n1 O+ i
for(var i=objs.length-1;i>=0;i--) / _; v# h f2 v' U. G
{
6 k9 N* M7 `1 T# V var node=objs.item(i); - {$ O7 l. W4 o% l) R) J7 N5 B( r: `
/ _+ k5 [1 X' ?8 B f4 n2 Y
I5 @2 e3 L: X4 n1 u if(this.getobjstyle(node,"display") == "none" ||
7 m4 }1 x7 G9 x; B; O! R+ J* u this.getobjstyle(node,"visibility") =="hidden" ||
9 \) C' t1 M/ p0 {. o parseInt(this.getobjstyle(node,"font-size")) == 0)
8 \* b1 N1 T3 v `4 ]0 U {
6 Z& N; B3 x( {5 o& G. d if(debug)
4 |" S }3 q* J$ [9 S {
8 L& x6 N* h: A r alert("remove invisiable!");) @% {- |5 N4 K6 K/ J4 H
}* R4 k3 r4 V+ Z# ^
node.parentNode.removeChild(node);
9 |6 S* [1 H; p( r9 P% i" Y . ?' d* f5 q3 t" Q* L1 T
}
6 m& t) y. h1 v3 [" ~ else
: B0 _7 x( f. Y& G3 r {- j1 g1 Z1 k& r8 Y; d) S: J
if(node.parentNode)
) k: l/ ?7 t8 h1 F {* O- w' ^) a: `# i: r: Z( i
var orgNode=node;2 J1 C" p; n1 C& F
var orgColor=this.getobjstyle(orgNode,"color")5 n3 [; f: M6 f F- }" U+ F+ K' n
var orgRGB=getRGB(orgColor);
6 n2 `% L! J. l5 g $ i5 P, v& ^: n) z* J5 {# V% ]% D, Q
var parentNode=node.parentNode2 J4 s) q' N1 m) {
var parentBgColor=this.getobjstyle(parentNode,"background-color");; m8 Z' A+ i# l/ [ f
( G: ^7 M- a' F1 V- ^
var isLast=false;
A/ D- L8 [2 q2 K+ V: w4 |
# X3 X: H' `' f; m/ [9 V" S9 d while(parentBgColor == "transparent")
# p4 \/ l; C7 j. l- B' S& s {9 k. i# X2 \ b
0 x; U+ Y) X4 ]# |2 ]; S
; g1 P, O) @. z
if(parentNode.parentNode == null)8 h2 f* n* C# v: o& I8 W3 Q
{- N5 q! e( s# C* z* l# a* n
isLast=true;
* T0 O3 Q9 |7 O2 e& p: M7 k break;7 k% m: v" V4 l
}9 j% K! l* {9 i- w4 Y( P3 q$ q% U4 Z8 W
parentNode=parentNode.parentNode;" z- F3 N" _* T7 ]: D
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 h$ e' Z" \* D$ A
# E1 P3 z; s( u, j- M1 l. c/ j if(parentBgColor != "transparent") ( B$ n4 h; H! \! M5 b- I5 K, X
{
: b1 H* B2 {3 B break;7 [# R& `7 e3 Z0 A/ _1 P7 n5 R
}4 G% \* m/ t% j3 N! K5 @3 S
}: c* Y2 } ?5 P& T N( j
if(isLast) 9 K0 W) w, J% [2 r& G
{$ M* X0 U" K1 [( R
if(debug)
! m. u7 d- U( G4 y {8 T# f2 p: Z$ [
alert("last!!");
: J' z# g" @$ [" J }+ N9 m/ Z5 Z2 \9 z1 {$ l' D' j7 Y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( I$ S' t3 V# {# | {
+ c( I3 c0 ~. z4 _8 Y orgNode.parentNode.removeChild(orgNode);
1 I6 F' Q$ R. M8 R U( ] }
+ F9 q, p( W7 ]8 ~: T& p }
- s p1 a; T' j* v2 b& j1 J else
. w, M6 Z' }: ?5 ]4 b5 g {7 d- J g: x* Z
if(debug)- m0 D* V; n" q. R( R
{
, e7 V5 s; Y! F+ @8 @6 g$ H9 n9 N alert("compare color and parent bgcolor!");
% x2 V% N2 ^! `: e0 e5 W( ^ }
3 f+ A; X' `2 ^1 Z+ ]. c% F parentBgRGB=getRGB(parentBgColor);( y) Y- o* S" u( d& F' H4 K1 i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ D; b( F( c4 ?! B
{
. y7 J* s/ K* `. Y orgNode.parentNode.removeChild(orgNode); ) k' P o! D6 ^2 `& O* M
}
/ y Q; Q# ]$ Z$ O5 G }
% }0 R$ W# y c, z( w2 G }/ t6 j: I3 n. v$ K2 x: L1 X
}
) @1 g8 B: D, D }% D( t6 `6 h( g1 P
}
% M2 v* \" ]* `2 |$ n7 ^* u; s . _4 z' B' s4 ]+ C3 x4 B ]
8 d4 F% }" x4 ^1 r6 Z
var itemFrames = page.getElementsByTagName("frame");0 {! h' V% q: u; n* M
var itemiFrames = page.getElementsByTagName("iframe");& y1 U5 C* P T: o* t8 e. J
2 c$ Y' Z9 T1 v5 [1 {$ l0 y var frame, iframe;
+ Y1 X5 {5 h9 [ if (itemFrames.length > 0)
% Q8 T* v5 s$ X. f- i4 A l {
5 R" \! X2 A5 {& R& M- R7 l for (var i = 0 ; i< itemFrames.length ; i++) . d; [. p) q& R2 S
{0 A1 s g: P( j% U' ?7 I
frame = itemFrames.contentDocument;2 O: z( ?5 @+ B/ [: r) V& `% P
this.RemoveHide(frame,objname);
" i1 \5 g- O1 }' t' ^3 n }& o* M: l/ ?" D6 W3 p6 F
}& ]- J; @+ q5 {" J. \8 ]( R
if (itemiFrames.length > 0)* O! T$ F) ~6 V3 ?3 ^1 A- {# X
{$ \9 B9 A7 b) u g* b& l
for (var i = 0 ; i < itemiFrames.length ; i++)
9 k8 a0 F! F7 m H0 N0 ~ {
# t# t$ O. m |+ ^ iframe = itemiFrames.contentDocument;
1 `) c, e. E% [% ~9 x this.RemoveHide(iframe,objname); ! b3 z% s4 S0 {& k9 ^6 l+ w/ n4 r
}
1 n. ]; [( {# ^8 |' V. O5 b }$ B n3 S0 S5 _+ ]% T/ u
}7 q5 ]$ B( f4 p; ]" }' s1 ]
catch(e)( D; J& B, g' l2 Y1 @, h
{
1 F' p( _% B. |& F if(debug)( y2 t/ E) E% Q1 S9 y: I4 e1 i
{6 _8 N( V; F( w+ l
alert(e.message);
4 L2 _/ U9 t. j! y, z& T }8 I+ h7 S- q5 S; E0 u' Z
}
/ V3 U% p/ s% M9 V }
. N# V. q8 x. C G2 G I7 [- @) a
$ ?6 S8 L% @) I' N1 O}: W3 s3 _$ X- d* U) ?
; d" C) j% [& U T3 K% \$ T
function getRGB(colorString)
* ~0 `$ Z: w: F. _{
/ c6 [9 }7 j3 x var RGB = new Array;
7 B4 F& U! l- Y4 k var tempSting=colorString.substring(4,colorString.length-1);
- J% j4 d* }4 |: R var tempArray=tempSting.split(",");
) ~: }& g6 C& o: p, t) \3 `0 D1 c: K5 t
RGB[0]=parseInt(tempArray[0]);
$ k1 @( a6 {. e, E/ I RGB[1]=parseInt(tempArray[1]);
1 I/ }. _3 F- m F, C1 e$ l; f RGB[2]=parseInt(tempArray[2]);' T0 F7 w1 M4 L( @
4 {) f, T% Q c- I( c* n1 U& U return RGB;; T# b" P8 F; V; Y1 p
}- f$ A0 _+ p9 ^4 q1 w9 S" ` r
function keys(evt) ( F' R; t, [5 E1 S
{ 3 v9 x; D D9 H* d5 u
if(evt.ctrlKey && evt.keyCode=="81")
* w! f% c* Z: Q" Q* w: N7 w8 c% p8 S { $ K2 X4 a9 S% ^, C7 J
CleanHideObj.on(0,1);5 K- J' @' u1 H, e$ [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% F7 z( D! v( y8 g5 a9 F: a8 D + P; N7 L$ Q# \
} p; V5 B; A( V6 Q* S; }$ i7 d$ P+ _
}
3 }8 T V" e% |2 M r5 Idocument.addEventListener('keydown', keys, false);
8 a1 c. i5 o* N4 Y4 ^8 oGM_registerMenuCommand ('Clean Hide',
) U, N: @& X: X" ufunction(e){
# y" p e, O, ^7 `CleanHideObj.on(0,1)" M5 R+ z) Q& }1 }2 h! t6 }" v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 T8 N! F, z9 z2 [0 O1 @+ Y
});
' g4 E. W: t, X/ G- \! n0 _ |
评分
-
查看全部评分
|