|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ i" \; y" t! H) |8 ]5 O3 t$ Z& ^- P. L4 \
火狐插件,用猴子
9 Q! q) Z. k" r" {: I6 }" z+ {2 T! [; p8 y8 u1 v- T
var debug=false; l8 }8 n! }, x& W2 t; a7 a
var CleanHideObj=new CleanHideClass();
4 [4 R1 O# Z7 w7 w# @4 s3 H) {7 x: N
! @% U9 z) V* k% t" afunction CleanHideClass()
% s, b) M1 Z9 N* c{ 0 i7 Q' t, X( L" p2 c- @$ D
* Y0 ^) F( N; H/ S8 w* o, `- o
this.on=function(id,bMZ)( I0 \5 C' e3 e% h5 T3 \
{. k# i8 @' }% @1 A5 [
& R+ G4 w. o% v' M+ r
if(id == 0)
; G" {; {' l% } ?$ U L K {
5 J# v+ [% j( |' t9 U var page=/* document.getElementById("content").contentDocument */document;
, |5 c. I' h9 L/ g$ \# B this.RemoveHide(page,"span");" Z \9 r# L$ n5 r# @" A% l
this.RemoveHide(page,"font");
1 I9 i% v h1 Y& o5 U2 Z+ V this.RemoveHide(page,"div");
0 N3 ~, H% t9 S+ ~' a, P& ~4 ~ this.RemoveHide(page,"p");
2 e+ b; ?$ p' s* D
: L6 \# o% _1 \( t; x6 e' \ }
& k$ ~" N* t1 v' p2 {
6 ?$ J& b- L6 b+ @ i! F }2 w @ X3 m: R9 b+ C9 O9 k# `
this.getobjstyle=function(node,prop)- H9 g. N( R6 T- r! Q; P
{
% ~, l# P1 [" K try" s% s$ f- \: b. s* |' u; _8 ?
{
% E$ O1 x6 i! N8 p B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* g" }+ @, i& B1 ]+ T) g5 i
}
0 X# }8 J. q+ [7 y% f1 B catch(e) f5 R% C1 j5 U* N8 X
{0 z$ k7 z$ I8 x2 a- }4 d9 P
if(debug)6 T4 |4 E8 C/ ^
{4 |* t2 k6 }6 S' Z- C$ X
alert(e.message);( D2 x. }/ z5 d! L$ T; l# q. X. f
}
/ B9 h( `: |. B6 Q
/ q3 @8 m$ E" _: H3 S. f9 Y* G! P( L1 E return "200";
3 K, W4 m8 }& ^% e" X) t }
9 R, u; T. Q( |* i4 [+ L }
9 i9 K1 T% W" s9 G ! A5 H# J& I& `; \, v
this.RemoveHide=function(page,objname)% v0 e# H' z! p
{' R: O e' ^- W
try
* W' v3 V7 W. U3 P/ M {# V4 u+ a) @. l5 z
var minValue=15;+ V* x8 ~' N. A, j
var objs=page.getElementsByTagName(objname); 2 k- m7 h" V, `2 ^2 [
1 a! U5 L7 [) C0 ]( }/ X+ X
if(objs.length == 0)
( J5 g; ?. g5 d: d$ V- _0 Z {$ v& P0 w8 L7 J' w. Q$ ~$ p- Z3 c
if(debug)5 s4 v5 a, V" w! \# l# j4 L
{+ z8 ~8 B2 z% I# C/ M$ b4 I
alert("no object found!:"+objname);; M5 V& z6 ?6 M5 @+ r
}
% a0 \, C4 e/ K8 y5 { }& }& W* k* I9 Y3 t2 }( x8 \$ {
else; X! x/ O1 O0 p& p7 |/ {& @" r) ~
{
5 Z$ u- z2 R) H2 M5 y0 v ' h& u+ a X& ?3 u" W
for(var i=objs.length-1;i>=0;i--) 7 i2 p }% q, ]6 ^
{% k1 `% ^% t8 A' _% h% O. h0 [
var node=objs.item(i);
+ r( i8 j0 {# p$ e / E3 K% n4 m7 q! g7 Y
: n. r5 `+ h: U* g) ~; k+ ]
if(this.getobjstyle(node,"display") == "none" ||9 Q4 n/ |5 m# E* o/ q$ e1 G8 B' Z
this.getobjstyle(node,"visibility") =="hidden" ||
+ h) v6 m5 I; Y parseInt(this.getobjstyle(node,"font-size")) == 0)
4 p6 W: T" F" @4 C: C# c/ {" u {& K; @2 @! R' B) i: i: X3 E, A
if(debug)4 S' R' u* t7 D0 ^+ i V; N
{( m& X6 G9 O) c9 R6 r- \
alert("remove invisiable!");' `" h/ s/ D" m- J0 g
}
' U1 |% [' Z2 ~% x1 s+ g5 p node.parentNode.removeChild(node);6 q& r7 \; W( g; C
% c P: k! @7 ^3 Y$ i. O
}
1 n, `: [4 c( U) @+ M else
& W, h' U2 P( { {
& A: S$ g" {# r; _: o if(node.parentNode) - A. W5 [! n2 }( @
{
* i+ m, c9 [3 P- {6 C var orgNode=node;) F! f0 Y- G7 e* }+ ?4 B; N
var orgColor=this.getobjstyle(orgNode,"color"). i' t2 M. q! c9 Y
var orgRGB=getRGB(orgColor); # j* N3 _/ N; y4 l& x* L' ?
9 Y$ o7 F3 q7 R) r9 G
var parentNode=node.parentNode& D6 [ O" ~# \
var parentBgColor=this.getobjstyle(parentNode,"background-color");# L+ L) M8 W* b5 H B
: y: ^9 o8 i8 u+ y" ? var isLast=false;
1 X& i @' s+ F 9 G# O% N( p& R3 A( d c9 A& j
while(parentBgColor == "transparent") " R% m9 v% I+ d$ b7 y4 R5 A/ X% G
{
2 n1 p$ C, M" k
0 U' G: z5 v" e; d! B9 r" R5 q 9 ]8 ^/ y& t/ n1 m0 l3 k d
if(parentNode.parentNode == null)- y7 ^' m6 z- Y0 O4 o A& x9 L: Q
{
3 a3 X; `1 @; S6 T isLast=true;
8 ?; d& `, D; e break;) u. D, U; _. m* _: t) f
}
0 W/ V m) E1 ~$ r7 u O7 c parentNode=parentNode.parentNode;
8 p0 b2 Q' _2 X7 h( F8 M/ f1 S parentBgColor=this.getobjstyle(parentNode,"background-color");
( @* {5 u- {8 b0 @; J
* o- x( w3 W- v, A7 G" Y8 h if(parentBgColor != "transparent")
0 @1 Y M% H. S' ~- h {* t. {+ }/ ]3 z$ O, {, a+ \$ ]0 v
break;8 x5 V) O" @- r( Y# e$ S' X5 A
}
. a9 }) Z* y% d m! h }
/ Z( u, Y/ W B# z) U if(isLast)
! ~% B- D! J g {2 z! L& l' F/ l7 B, _3 g
if(debug)9 e" k4 T/ Z4 D4 L
{
% I0 l0 _' ~, Y) M: ] alert("last!!");
: e% _! M7 e i* p; Q) Y" M- \0 n/ y }
6 W" v, v! n! _' ^( W/ d2 x! R if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% h( m6 n% c- k/ D$ c# C
{" d+ G, f( Z# A( q
orgNode.parentNode.removeChild(orgNode);
# [4 G' F* Q6 H, G& g }% |) Q* e2 \/ v$ V e- I( E/ P
}, ?, `) j1 I: _
else5 Z9 q* i& o* }9 z
{, ?* v# `: {/ u/ {- I
if(debug)9 u( _7 {* w( |3 Z
{
6 b" d c0 M. m( U% ]' z5 l& Q alert("compare color and parent bgcolor!");
) P* E& o7 m. k4 ? }, M/ [/ ]3 q S( Q5 U+ l0 h4 l5 V
parentBgRGB=getRGB(parentBgColor);
M9 ~+ N* C4 {, x3 h& M1 W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 [0 }# G6 d) M$ f
{) b) c! s" C( m+ s. ~! I1 A/ U
orgNode.parentNode.removeChild(orgNode); ) ?9 v6 H, Q% t% [7 H
}. T2 U& s* c/ C8 {, O4 Y
}6 ~0 `* l$ E& x& s
}
+ y# n# I% @ o. w }5 V5 v _) a) r& |& H- E
}
( R$ m7 W! Y) _6 T- i }. t0 c1 h& D3 e q: }, h( v
1 J: N% n" [$ @3 L p4 g; b: f
4 j, p3 [5 P& F* i1 W var itemFrames = page.getElementsByTagName("frame");
* R/ q7 e: c0 ]$ y; p( i/ l6 U var itemiFrames = page.getElementsByTagName("iframe");
0 q# f' I. A, |& P 4 H( Z3 C" o( v# k( D9 ^7 `" O+ l8 Q
var frame, iframe;
4 u: z' T- Q B3 y: C if (itemFrames.length > 0)
! @: D% `1 K5 a {
: b* Z# p4 Z* Q for (var i = 0 ; i< itemFrames.length ; i++) - M4 H3 T, J8 n! _# v' ~
{; E1 O6 ^' q0 p+ Q' o. S+ t, U
frame = itemFrames.contentDocument;
7 ^9 {+ e. d" l' f5 l) p this.RemoveHide(frame,objname);
3 k+ E( z$ [2 T" n }
5 T6 B) F9 b) E/ z& g; L8 @ }' M( Z2 o6 k7 r" g8 o$ a2 l& j
if (itemiFrames.length > 0)
) L. @: X7 {4 P/ n- w {$ E2 s2 e! i* a5 ]2 B# L P6 k
for (var i = 0 ; i < itemiFrames.length ; i++) 1 }+ m N% M' D
{+ B' Y. t4 A- x
iframe = itemiFrames.contentDocument;' N ?+ R; C5 \
this.RemoveHide(iframe,objname);
% f! @$ t8 m `3 v$ d }# ?% q6 D4 _3 i; L5 E4 i. c
}) F# {: q* r$ D) k0 D
}; s+ g$ [0 M; ]8 f* A
catch(e)$ R* b$ r/ F3 K5 L# }3 W
{7 x, a! d1 d" v- m+ v6 |
if(debug): O% U% B% R7 }
{7 n3 N: y% d. @% H1 {4 j
alert(e.message);, f/ m' }8 S/ x$ m& c
}& H9 M& y, t+ J
}
! G: I5 G! ~/ A- |) k' n }* B9 j- Y+ h& O4 A, J9 q
+ F( D9 ?' J4 J4 M% V
}& u2 g7 V" N& @5 v4 w& M! l
; P( e6 i# G1 `, i9 Q2 ffunction getRGB(colorString): C" S9 f7 l4 D9 t
{
0 f) A( w9 E3 F. n var RGB = new Array;
) ]# M9 h' Z1 u2 N; z6 H W6 r var tempSting=colorString.substring(4,colorString.length-1);
: d) D- O0 ?8 V5 |0 B2 s" ~+ ^ var tempArray=tempSting.split(",");' D& J3 r# y# b& T" ~
0 u: F& [# i. `8 t& L
RGB[0]=parseInt(tempArray[0]);
8 ^( @2 {& i, K5 K; r RGB[1]=parseInt(tempArray[1]);
% f) L/ r, R3 j5 T/ R7 j3 @1 y RGB[2]=parseInt(tempArray[2]);
5 B# I9 [' I& i+ \" C4 w + N' f- m) [* R: y$ h
return RGB;9 _% o2 \7 B) y! [! @6 k+ y
}. J- F8 S& j9 `. U; J7 j
function keys(evt) + W+ M9 v6 {" r& W4 x
{
* P$ Y% S5 u6 I9 n5 H if(evt.ctrlKey && evt.keyCode=="81")
1 O' [3 R. w! M* H" q9 B/ t {
3 N; A' R3 ~: A9 S6 C CleanHideObj.on(0,1);
: n3 T3 }% n; Y# f: _! X* L# Z/ J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, [+ ?$ y8 x6 h5 l/ z# P0 c: k
1 I& m. z K! a, T8 G$ Z) B }
0 S, n/ ?# i( R' P: \- r } 1 \' P: \, @; V, w; o
document.addEventListener('keydown', keys, false); " I. l! g4 |* [
GM_registerMenuCommand ('Clean Hide',
% B; S8 U" Y9 y" w8 ]. m4 u* gfunction(e){) W+ ?% m$ f! s. \) I# Q' j; O
CleanHideObj.on(0,1)5 N6 b7 m, q: c/ z! _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ e0 j2 e' X( H/ Z& u- @
});& ^3 L$ L8 i# D+ U* a5 H
|
评分
-
查看全部评分
|