|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! I. P0 T# {" r; A# m
- D: x) [4 M* T( j. W火狐插件,用猴子 M8 R% b( H# s( {9 Y+ G# }
3 y5 A0 P' r- N& e: z5 E/ L# M
var debug=false;
7 }( n9 A% @4 Y4 i0 q( p4 uvar CleanHideObj=new CleanHideClass();
$ D+ m6 Y6 H2 c) y q# u5 E
) |; |) t9 V; c! N' n7 yfunction CleanHideClass()
- c. y y- Y: f; [8 l{
8 Y. _: L/ R1 k( r0 G$ {* F
* \8 [9 L5 w' c this.on=function(id,bMZ)
/ b( C% ^5 q2 J1 N {
8 N0 F4 c3 M5 v( a) _ 9 z$ r+ [% u, m* c8 s4 G
if(id == 0)
8 {. E2 w5 w: l8 N/ Q9 v {
5 N- X- H+ B7 l m var page=/* document.getElementById("content").contentDocument */document; ?. A* }' E3 s m
this.RemoveHide(page,"span");
6 ?0 U2 Z9 y& G, S this.RemoveHide(page,"font");
' e9 l3 G% d" l0 `* L this.RemoveHide(page,"div");
) f' F8 h9 @4 G9 G: @3 F this.RemoveHide(page,"p");& J' G) {3 H! }+ S- W" A2 G
9 D6 \" ~- p; J$ [( i
}) f, U) O* j3 @ w& m
) ?3 {* O" w0 p }
7 j7 b7 X, i* s1 j4 a4 ] this.getobjstyle=function(node,prop)1 w) n, J, D# q5 r* {
{( C5 `4 `) H! p3 B/ q
try9 _/ R) X$ d: i" i& f! f
{3 S2 A8 V5 C. p8 b. c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 R" s5 J& L8 w$ R- N }
- A" @& E& Y' U& t: @4 P+ D catch(e)8 B, ?0 t% Q0 @) D6 ^& I# l
{& D m- ^7 G- b& F/ E0 t) ^4 W
if(debug)
. V! p' |/ R! D( k- j p) q {- p4 I! z. I, x
alert(e.message);
2 J0 K2 }0 {2 F. H }2 _+ ^# N2 U- J N r( d
: \$ l( h& ]# f3 W. C
return "200";
8 T- Z/ O# L1 ?8 ^! u }5 r" [' T7 n6 e) T
}
# s2 h1 w* c1 D* s' X7 D9 u 7 c" W& H6 X6 A) b( {, b: \
this.RemoveHide=function(page,objname)8 M2 }# l: T4 f, ?% D% z! B! i
{, I1 F8 `# F0 J/ y
try
' S V7 o3 s: u& O! n }# U8 h {
, ^' b/ S; S# V3 Y" q3 D5 j var minValue=15;
( Q2 g- \" a; m L( F8 [* X2 o: | var objs=page.getElementsByTagName(objname); : w; h2 @1 U: Z4 |" d# J; c" s; X
! `% h. o* e% L$ S) z if(objs.length == 0)
0 M( D) ~- U4 _7 l: j {
) p- d& |$ E' H7 L if(debug)
! J% f! H7 i* b+ W2 w3 { {
9 ` l$ C6 K5 K; Q alert("no object found!:"+objname);
5 x2 l( q) I& y; r: y9 j }, |* z- b5 r+ E9 a9 W+ k7 \( ~
}
) y& j ^* b& F1 Z9 v else+ `9 t' [& g- {1 F' Q7 @
{
4 N, g9 T; G; @* _7 M ) U5 _1 q0 w- T* r
for(var i=objs.length-1;i>=0;i--)
' @. s/ C1 e, D* U {
, e3 U/ [5 O) u- X) p) G var node=objs.item(i);
0 a6 ~) H( e8 F# q
. S2 F( m- }! k' s7 e, X$ j
# \' }4 _% s& x6 a/ |, _; z if(this.getobjstyle(node,"display") == "none" ||, J" Q9 a% ~1 u; G9 E4 l
this.getobjstyle(node,"visibility") =="hidden" ||
0 g# j$ v1 c1 x }; }' e6 J$ N parseInt(this.getobjstyle(node,"font-size")) == 0)
! @) C. j1 f* Z2 ` {
4 T; s7 F4 L) A# d* L) M3 m if(debug). p4 K% j O$ h ^. i1 s
{6 E1 }5 l: Z3 n O; X% H. Q% B
alert("remove invisiable!");
8 g1 d! M: }5 V }
4 R2 o) g% Q9 X# L6 I$ v6 ~, E node.parentNode.removeChild(node);6 Z5 _1 l8 H) P* q2 \
/ H+ j$ ^& Q, K q" R( A* X5 S
}
+ V6 Q4 x0 F- W; p5 K( P9 Y else # |9 P& j" ~- } G. V
{: y+ u! g7 ]9 M( z! L
if(node.parentNode)
2 B2 _; _2 Q) C* M: U* z( g# ] {
; t/ k" c5 {6 w: j var orgNode=node;, A0 m. P0 V+ b- T9 |
var orgColor=this.getobjstyle(orgNode,"color")2 ]3 K7 q! U" w2 B
var orgRGB=getRGB(orgColor); 0 e) _1 Q' N! s& p+ D5 ]3 d$ N
* W/ j# f* @6 Q( `: W; O
var parentNode=node.parentNode, L8 K5 i$ a3 I5 }4 D8 G/ A
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 K# D' H/ A5 ~7 j
& |8 ` w5 h; S$ G
var isLast=false;9 q0 @( D; H" e: j
y/ r7 Y1 j1 y+ m5 B while(parentBgColor == "transparent") ! h, B6 J) a3 d% }& @% w9 {+ V4 {
{
5 X M$ p- Z# i0 A @+ E0 n1 o 6 z( h8 T' g, k
- s, q- Y1 i/ E0 ? if(parentNode.parentNode == null)5 x; A' q% G% F {4 g$ k. o/ t* k
{
! D e3 N, H/ g' A* W isLast=true;
2 w1 r! F; `5 h% q# O break;
1 o/ { c' q2 S( M }0 w1 q% b8 `# j0 T U/ a
parentNode=parentNode.parentNode;
1 ~4 Y9 \( o% ?% q parentBgColor=this.getobjstyle(parentNode,"background-color");
; q- ^) M: Y; U3 [7 a$ o5 X6 C+ B7 L6 [) l4 o1 m" P" y
if(parentBgColor != "transparent") z2 c$ S$ H+ f# }) S
{" H) i2 ^" x4 a
break;
. [8 D7 L4 f7 k+ a7 u }
; I- n4 E1 V1 F0 s }/ l% r5 w9 q/ n, H# n
if(isLast) V. J3 {1 A5 m* y3 ]
{
- Y9 @ T {8 \4 _% B if(debug)
2 U- Z1 q- i9 m4 B1 G9 D( \- n {5 J) ^2 P8 ?8 q" Y) ^8 J1 G
alert("last!!");
! v( A( k: D2 O+ o q; k }; W& X: d' X' f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ x- f3 u [% E+ L* M
{
4 L+ t- L7 C& o/ ?3 q1 Q orgNode.parentNode.removeChild(orgNode);
: y) @% Z w9 @9 e }# n9 Q) D0 t4 ~' d% W
}
0 ?7 [2 U; l3 W2 ^8 Y+ O1 o else
! C! J0 ~* t0 Q, k) w( e! K7 t& a9 z {9 }; l% S2 g' {' M8 C( h- q
if(debug)
& y0 D8 n0 T1 z6 n {+ `( ^) t' K' G3 i9 l
alert("compare color and parent bgcolor!");
, q! a$ c1 V' i' l4 z9 \ }7 O/ u4 q& i) ^% G! a
parentBgRGB=getRGB(parentBgColor);# K" k0 J2 Q) v% L7 _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): `% z1 D6 `1 {" J+ J
{1 @- E9 P. ~3 h& r
orgNode.parentNode.removeChild(orgNode); - x6 y+ {3 P+ ~$ O0 k$ v, k
}
* B. a/ `, E! D6 e% h# i/ E5 q8 v }/ _( S# R( Z, S7 L, Z/ Y
}3 V1 {* C9 n' K: ~
}
+ K! W, W8 g7 w# F% [ }/ \; R6 g5 B" g7 x
}
$ X0 E3 C8 g% m2 ~0 f* ]6 ]8 V F " _/ J; U) c3 Q) ?( I* s6 f3 d
0 o3 P! T) B' S5 r3 _# V% @! y; n var itemFrames = page.getElementsByTagName("frame");8 R. m Y A; `) i; e( G# }
var itemiFrames = page.getElementsByTagName("iframe");0 k. U* z, @: C6 o- l1 U' q; A
' e ]7 ?1 q% s var frame, iframe;- Y1 x( B) L. s& c0 {) r$ E2 m
if (itemFrames.length > 0)
5 d; {- x+ n t$ E+ d2 F {
. \& Y& e7 d; \( N for (var i = 0 ; i< itemFrames.length ; i++) Z9 K# F$ x. |* t
{: E( W. A- n" t8 e* j5 Y
frame = itemFrames.contentDocument;$ D0 D' c9 I3 }5 X z% u w
this.RemoveHide(frame,objname);
: [; L2 q$ J! k2 Y }2 T, B3 Z2 ~+ w! E4 h1 n
}8 l \' t( I- j, r3 s ?
if (itemiFrames.length > 0)
/ @$ V/ P* g9 u% ^8 { {% S1 ?5 _- F5 h+ }1 S2 b5 o. J
for (var i = 0 ; i < itemiFrames.length ; i++) $ G# P% X$ z$ G( K
{
+ [- m( z. E+ G1 ?5 I+ q iframe = itemiFrames.contentDocument;& q! C& R! R( Y x
this.RemoveHide(iframe,objname);
$ K" ?. b; l" P9 _ }, v3 U" q. f: ]' Q- [4 D& I
}
8 W; \1 M% B( G: v/ p6 h6 l* D; a }
$ ^/ s; l" ]' B; q/ s' c0 d- T catch(e): ~( M [$ n+ |( n% l1 f, g" v
{
4 i! L. \ r7 \1 A2 c if(debug)
6 R2 P# U, k* l, a, r- F {& A( C( ~/ A/ t
alert(e.message);
) a7 s: @1 \$ c2 {" Z [ }
, k- U$ M* ^1 q2 R$ I: y! _ }
, }4 C: E1 W2 h* f& f* R: O }
) a. L2 i- {: T, H% }; C2 g8 ~ 9 \ v# g1 o6 |0 u4 k }- O5 J
}
K7 ?3 T4 D7 b( `9 [/ f `" G5 U# C! _1 @
function getRGB(colorString)& T" z( @0 E0 z, _/ z# R( F
{; [0 f# A1 g/ o' U1 c2 m
var RGB = new Array;
' A1 P1 k0 n* q1 T var tempSting=colorString.substring(4,colorString.length-1);
8 d6 l- ^4 E4 }# j var tempArray=tempSting.split(","); O5 J& H3 m6 Q3 `; N# u$ b
; N. C# q8 F+ x3 o) _* F7 H RGB[0]=parseInt(tempArray[0]);
! h$ `2 Q6 Z5 ^ RGB[1]=parseInt(tempArray[1]);
* h6 T' ^8 L- N RGB[2]=parseInt(tempArray[2]);! Y% `* N. n+ m) z, A
- S( L* a" u ~" W+ r
return RGB;
+ j; E3 e/ Y( Z0 o% Z/ Q5 g# _}
1 q; |/ ^1 T0 q2 Q& Jfunction keys(evt)
0 P+ a# n$ r7 n/ O6 N$ O { ; |* C8 o9 Q1 g' o
if(evt.ctrlKey && evt.keyCode=="81") ! J& H: j9 O _8 c
{
$ O8 \! X0 j0 P- V8 m CleanHideObj.on(0,1);1 p; }# h7 N0 s- P% j2 m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. V& f" O) _) p _7 B$ a
0 a# i, p' B1 S& M6 O, u G5 v } 0 t$ M- g; w5 c, [
}
- h9 A( y5 h9 } N* e) S4 o: o' Edocument.addEventListener('keydown', keys, false);
6 a% Y% q5 W& W% g, i+ r& [GM_registerMenuCommand ('Clean Hide',0 u* f3 i7 N- p1 L; M
function(e){8 U$ i* G3 x7 I3 x3 X, F3 r2 Y e1 u
CleanHideObj.on(0,1)4 d. `+ c+ D3 z- [3 \7 O! e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 T( ~1 X8 C3 W: v* V; T
});
2 W& {4 W8 J3 D$ R% B |
评分
-
查看全部评分
|