|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 w" O. Q! u- s t# v
/ S8 O- V7 {( p: i4 O; M火狐插件,用猴子9 f2 q3 S, q& ~3 ]9 `, k4 B
/ ~% M' s5 [& |7 A) A, Z4 W
var debug=false;
4 i3 c* Q( P9 Gvar CleanHideObj=new CleanHideClass();
- `5 B& w6 m5 n( f# u( Y; G( W$ D8 W
3 t& p" w* q9 A' U, a; R3 Wfunction CleanHideClass() ! Z( {1 q% E# h' S% k8 t
{ 3 ^, y4 O' t8 @/ ? L
' }+ j6 ^) L9 W this.on=function(id,bMZ)+ D" L0 v7 D; ]4 q
{+ }0 |4 o6 K; O
# b* I. L* I: a3 z if(id == 0)
n0 B2 a# l8 T# I% L {0 ]/ _& n8 }( J' M- S$ r
var page=/* document.getElementById("content").contentDocument */document; 2 ?" |" @( @( Z: _+ ~
this.RemoveHide(page,"span");0 k, o; Y% E: [8 j
this.RemoveHide(page,"font");
u8 b8 O, B1 w7 I) } this.RemoveHide(page,"div");
, L, X+ p4 r& ]+ G% A- N8 P this.RemoveHide(page,"p");
, Z& ?7 J% x5 v% Z6 F/ `/ L
1 X6 v2 m$ L$ X4 }! ` }( w. H' d3 W9 j V
3 f1 s8 h9 J8 R }
0 C, y' w; n( v. C this.getobjstyle=function(node,prop): ^% @5 B' a. P4 Z) L
{4 J1 M2 J2 w' } O: |" q
try) ^4 j% ] w+ W7 e% v$ n# d
{2 B4 \2 E9 i) R4 q; }; Z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 v, M9 s% j5 r' ] }6 k2 N0 {7 _- U& q' ^" a
catch(e)1 B) p9 L; ]1 L4 ~+ C5 g4 r$ B: u
{
7 r1 A( e* O; Y" X if(debug)( ~ K0 {+ z6 L" }5 c
{
5 f1 ^! d) g! ?% t6 G3 a alert(e.message);
, I# W" r# H0 _ H% l8 l }
( K+ b7 f" u6 z( o) l ( q2 @6 h( b5 t% D9 S% ?+ K7 I" R
return "200";
& h: c8 Y$ v$ Q }
! ~9 d" T0 y1 W) J, R% i' D) ^ }
* r8 _ j) N: T" q9 T 7 y5 O k, b! K& D
this.RemoveHide=function(page,objname)
# g2 M' f2 X" Z1 v: a" d {, \' a# s4 {2 w6 G# y& e* ^ }
try
. s) p) j! X1 {$ o& u- L; M% ^ {! f% M' S4 m/ j3 o
var minValue=15;
% l( q. ^$ U( M) E var objs=page.getElementsByTagName(objname);
( h ?8 d- [2 T- U6 K
) V8 O! g5 U4 g7 v# ] if(objs.length == 0) , v; R9 v' }$ I) z T
{
3 l9 S8 R) r' x- N! c$ K" b if(debug)% K' W2 H& @' c1 l5 `
{
0 c2 ^) b2 C9 M2 z alert("no object found!:"+objname);0 \1 N v p+ b! b, b- p! ] }2 v- u
}6 Q$ P. @6 {! O% E
}
$ ~/ A8 ]+ g0 E0 Y; ^ else) V; Z X" T# t
{
& g3 s5 P) e' S3 u! T 0 [' t* r- Y3 C' m# v& z, @/ e
for(var i=objs.length-1;i>=0;i--) 3 y3 y* v) n$ n) @) y1 f/ r1 g
{
6 Q8 `3 Z. J+ e7 @, h var node=objs.item(i); ' u; L) T" f# n8 y( F3 o
- M5 I6 n$ T+ H/ K T$ X. h |
- L* s- X( f: T! w if(this.getobjstyle(node,"display") == "none" ||
# X8 @# h( L. c) _) q this.getobjstyle(node,"visibility") =="hidden" ||
6 h3 i/ W/ R; m9 @ parseInt(this.getobjstyle(node,"font-size")) == 0)
" u; B4 U* @* @& {7 M {
0 x$ d# }: N/ E+ h if(debug)
9 }% h5 ?1 p* V0 S. k% R! R, ? {
6 q7 {2 B( v8 } alert("remove invisiable!");! Y. m! {# @9 v& ^3 c3 ]% S
}
, D4 s; n: ~% t node.parentNode.removeChild(node);
9 G8 v: ]3 Z% E$ v5 M O! A# X0 B t7 V' _8 k2 Q
}2 v3 T; z/ m& J
else
) g: H* o7 B8 O {
4 O+ L" `3 _; [8 G7 @2 f! q if(node.parentNode) 7 S: ]. [" s0 V2 o
{
; q r2 M+ K- L% I) t! n var orgNode=node;
* A' O* N' j1 _" \3 I- N var orgColor=this.getobjstyle(orgNode,"color"): M, Q8 J0 C6 G/ w' e, \8 x4 a
var orgRGB=getRGB(orgColor);
8 I2 h) G: r0 n3 F7 Z- U8 Z' ~
! V* C* S+ Z; Y/ D' R! W& q2 b9 I var parentNode=node.parentNode5 T$ \$ S% m3 r$ O" v+ p" n7 ?
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! R# l" L9 l# S8 c8 S
! ~7 @. A- @ `& N( I6 \ var isLast=false;) G" V+ A' }! d+ h' m+ H ^! u* {- j
% x% Y8 U( d8 U6 h9 l, a1 P+ g
while(parentBgColor == "transparent")
; |& R6 K: ~! D# m* u3 R5 L( O& L {
5 u6 d: B5 d% D' N7 X$ F% x1 n; w1 b3 ?
0 T& {1 v' m' r4 E6 f
2 I! R5 c% [2 V5 B if(parentNode.parentNode == null)
& _( @1 }0 y$ j' e6 u( ? {
; j M' R# u1 h7 ?. a) o isLast=true;
) x' v" r1 Z8 }9 Q. T# v% e break;1 Q7 o( m& d. {& X+ G
}8 r) W, I; U1 [
parentNode=parentNode.parentNode;
2 O! q" b8 Z8 }! q7 d) @$ E$ w. T parentBgColor=this.getobjstyle(parentNode,"background-color");
- x" M9 c5 U3 L2 h4 P- {+ f- { e
if(parentBgColor != "transparent")
$ `+ ?. ?+ r5 k7 s {
/ o5 A4 O- O: y) @4 n break;
- u2 B W, [( }" F3 ^2 ^0 z c }
1 H' I3 g! [% f/ f }
# \' O5 H* B* k) k if(isLast)
; r& s8 q. H$ N {
3 y* y$ v* l1 b. ]! x: H; ` if(debug)
. H% ^6 P+ B9 G# ^" B$ ] {" ^( Q& {9 K/ C) p1 g
alert("last!!");
6 S1 d8 _0 Q* R _: @ }
& Y7 C! d: o; m: `1 K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 E' a7 S" Z5 `; n7 P {
: q% Y' ^5 h% U# X# ] orgNode.parentNode.removeChild(orgNode); 6 r5 L- `3 o) @
}5 W! I S/ P- h' Y. \- F9 h# a
}' R5 j: J3 T5 }6 t
else( H* s+ U3 K% K, Q) B3 l3 B
{
- i' N1 E$ b& E1 M7 C2 i2 q, }8 ^ if(debug)( a* P7 |+ T& u0 }* H, e
{
S9 M' n8 _7 ]# R, f5 I1 Q alert("compare color and parent bgcolor!");9 k& }0 z* }2 v
}# E b; }( _- k& m2 ~' d6 L
parentBgRGB=getRGB(parentBgColor);
% C4 x5 ]9 p: D8 m7 {" C! Y. b if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" K* Y+ q* T2 y" N {2 G, J. i% }: V- D
orgNode.parentNode.removeChild(orgNode);
' X% P2 ?( i/ f+ ~& N }5 |! h$ n! {9 F- z* N; R
}* e6 `0 D3 [! p' f
}
$ ^6 |# t% p+ S8 F }
( ~! ?" G. ^6 o, j; j' k }8 p% m% ]0 y! w2 b
}/ _1 g8 ~4 L8 f2 Z% }- `$ d6 N+ N6 S
- _* D& o. @0 ~ 5 U$ p4 s t1 d/ p
var itemFrames = page.getElementsByTagName("frame");
9 ?4 _: Y7 o3 v& o4 M% t var itemiFrames = page.getElementsByTagName("iframe");& y! ]# l- v3 F/ t) M/ n
- J/ M4 r2 S; N/ w" j2 Z9 C var frame, iframe;' j. n( L7 u& b$ g2 w% M4 j
if (itemFrames.length > 0)
" M. \5 I6 p5 n {( V& F( k( z5 M4 F7 u
for (var i = 0 ; i< itemFrames.length ; i++)
. C* j0 X' N# S' _ {
! c1 ^/ r6 L5 Z' ~ frame = itemFrames.contentDocument;. {9 i1 D1 q. M& D
this.RemoveHide(frame,objname); / z d4 q' X3 n I- M
}
( z$ h; x/ C+ F. _# j. _/ t4 _ }
. A+ m* g; r- b/ s if (itemiFrames.length > 0)7 S+ O9 J$ I0 u: l
{! T5 q& c! Z; m% ^
for (var i = 0 ; i < itemiFrames.length ; i++) ! C# `+ X; t& l* r: {
{! [$ N' V5 n, T
iframe = itemiFrames.contentDocument;3 x- h( {/ _2 ~! H% G- v
this.RemoveHide(iframe,objname);
( ~6 }% v, M: ~6 N! z! U }1 o }: V7 h; ]7 k6 h" b# V
}$ Z% M! h1 x9 a) r* [1 C# `& H
} [) R$ C/ c- A8 U
catch(e)
1 O5 _ z- F" l8 v6 C* ? {& N8 x: j7 K0 {; l
if(debug)% Y M5 a2 L7 E0 I) P
{
. d+ }# T) u; n; q7 i, C z alert(e.message);
4 x4 L% L, ]) Q O, g' i f }
2 G: a8 [6 i" g8 \ }
) N$ t! D0 T4 \" o+ d }
4 E0 N4 V H# b+ [ ' y7 F! o7 _3 T" _5 N. i
}4 t; M3 x% H' A. B' r4 G
& `5 n" [/ ~) c. @, dfunction getRGB(colorString)
& v# R7 p: r9 o' Y$ |/ \+ \: q{
# g% L& E" Z: M' p- l+ x var RGB = new Array;2 X1 d# q2 K8 g& v
var tempSting=colorString.substring(4,colorString.length-1);8 i, Y, t# L* R7 U0 d- p. ~
var tempArray=tempSting.split(",");
6 b( z9 T- m, }+ O4 {- p7 X& J! x9 s
RGB[0]=parseInt(tempArray[0]);
! D( H% X6 t4 B RGB[1]=parseInt(tempArray[1]);
. ^ {) O1 |6 k/ i/ U+ W RGB[2]=parseInt(tempArray[2]);
* D# V: Z, b4 n5 ?/ l8 |+ Y v: T
7 g* l" u& v h; l+ P return RGB;
+ a$ n8 ]( a. Q' L$ y* D2 r}; w( H: M3 g U7 U1 e; T5 c, h9 A
function keys(evt)
* e6 y# i( L$ F4 P9 i$ J: U {
; O6 ]& B8 j( v* L# [, X if(evt.ctrlKey && evt.keyCode=="81")
) o' i' h3 w1 B { + h# W3 A2 f3 i- a
CleanHideObj.on(0,1);
8 Q" K1 y2 s; K5 I, ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* ?, k( v9 E+ V' } O! W+ y + C- C% ]# R+ l J" j4 ]$ {' m
}
2 S: M# ]6 k) |& n$ A1 q }
& [. {7 [$ J2 C( I& _document.addEventListener('keydown', keys, false);
9 a% s6 o% n$ m r* s' @6 R: A; f3 _GM_registerMenuCommand ('Clean Hide',0 D" P' P5 b4 v* ~ i/ m+ F# Q
function(e){. A! {' p% A2 c% ?, V3 d) ~
CleanHideObj.on(0,1)
0 R1 W# o+ ]1 o1 ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 O5 A* U. `; c7 G});
' G r0 s& _" y7 M' O |
评分
-
查看全部评分
|