|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! V& T: ]* z) t; Q2 j' e
( ?7 H( M3 L7 I) E( T9 z8 I火狐插件,用猴子
. w2 R# n8 U4 s. `8 g' m: c. B, A" W" [& p/ `7 Q
var debug=false;
* f. |6 \& @) Mvar CleanHideObj=new CleanHideClass();
1 a/ r3 ` q( h/ j7 X% c6 Y+ Z& E. i9 ~3 J
function CleanHideClass()
% t/ o% }4 ]' N( l{
/ W, z; P, a$ U" X' I1 S8 E* d* M 3 P6 l5 h0 Y! Y+ E, B1 I; w
this.on=function(id,bMZ)/ {9 X0 G- x4 T( d& o
{' e5 Y( d; T8 J
- F i/ [1 X5 K7 J- H if(id == 0), k% b8 H: ?4 a: C5 m2 Z+ v( B
{
0 M7 y( W/ I! O' ?+ E var page=/* document.getElementById("content").contentDocument */document;
/ m8 W" B+ a" t& P- [9 A this.RemoveHide(page,"span");
" [( u2 r% r- q! {4 n% m this.RemoveHide(page,"font");
) Z# `' W9 i3 r! `" R3 r0 T this.RemoveHide(page,"div");
: c" R1 \0 j2 ~5 Z j: k this.RemoveHide(page,"p");
" \ v/ z( s W s C4 r $ R) ~& |5 r* \- P3 X9 Z, R) e9 Y, }
}& U* O1 N: E+ M: e+ }: z
, Q! o; ~+ F$ p( E2 p
}
" h% o6 M' j: ] this.getobjstyle=function(node,prop)
8 Y3 @. y- r- n1 v/ R {
3 s/ b* N! G( Q1 w) n6 ?! H8 c try
" M) S3 W, h( G4 f/ ?8 U {
* e1 e3 o# K# r$ c: C' ?- s* _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# d9 }# c/ G# `* i
}$ L# q8 X/ U: ]0 v
catch(e)6 W7 ~1 b: y2 m- ], S( b- `% d
{
& r% F D' Q! J if(debug)
% e1 ?1 [& W5 N0 I {
- \4 z+ Q( O2 {2 E0 m alert(e.message);# Q- X' w4 R) p* B
}9 y4 f t+ p3 J: x
! ?& t) j+ m8 [" U8 W3 e
return "200";5 \" c: X$ D% X: E* k" G4 t
}3 l) u3 P. [. v
}% B& U5 F- m# @0 Q6 I2 V g* h
- E% p, }9 Y" _0 t0 u5 i this.RemoveHide=function(page,objname)
$ B/ O6 E% c2 W, v$ K% ~2 D7 J- [ {
+ Z' F9 i' {+ K9 ?* I+ m& @ try
0 c9 f" e0 d5 Q( {- \, ^% M$ d {
% A {9 S( Y' d var minValue=15;( \8 _' _- v. r
var objs=page.getElementsByTagName(objname); 4 L6 v8 n+ ~. m& n
C# u7 F |( E" f
if(objs.length == 0)
6 \" ~7 z& h: k {
7 d2 [2 }( {) g! } `; j F8 T if(debug)
: J3 s/ h3 a, Y/ y) Z4 W( A' Y& y* Q: b% \ {, Q0 H& ^ I! Y1 }# y# C x7 K
alert("no object found!:"+objname);1 Q4 m2 Z3 ~0 E& s; R7 o
}5 T0 ]' ~- \3 W. Z. ~
}
. P# I1 V& E) X9 o else& ~$ H! E5 m8 z6 n8 @9 H
{
% v& [% U, f( _: i
' F$ f1 E, \5 {3 J& S8 O% a! M) ?' r for(var i=objs.length-1;i>=0;i--) ( F( e+ G- S* {4 D
{# `1 F3 U# Y& E, A( o$ b" a
var node=objs.item(i); ' ~$ j, k9 J" p0 X3 S
2 B) K( J# v4 \' ]/ r
. y8 [* f7 c, v5 @9 t* t- X
if(this.getobjstyle(node,"display") == "none" ||
9 f; `; i( B5 h3 d this.getobjstyle(node,"visibility") =="hidden" ||
2 ]6 J: o; H7 q' K" ?1 g. T parseInt(this.getobjstyle(node,"font-size")) == 0) 5 A6 W' Z3 Z" i, X9 V
{
. Y( i; b7 p- G9 ?$ t ~- D if(debug)
5 Z6 \( q5 {: @& | {" |8 G: n% E+ o$ Y! D6 o: Q$ N
alert("remove invisiable!");
' H( K9 D: [: V% f5 T; }! ~4 e }; O( j7 O% `6 [! h8 z2 |+ ^( j/ a
node.parentNode.removeChild(node);
! n. X/ F( P. i$ M6 Z
% g# b* |5 k% Y/ S# }. C" M ]/ L- l }
0 y: _3 y: M( [& r, @* B! | else ; V7 r! }! Z& B1 G0 P
{; d3 {! O$ J6 v
if(node.parentNode)
4 a. D+ J3 G' M/ o# y# o" l {
3 \6 b3 G1 S5 K4 E& g+ S" T var orgNode=node;
9 k! i$ ~( \2 m; t- q" N* [ var orgColor=this.getobjstyle(orgNode,"color")
: o8 V! f! S2 I8 K8 |1 p var orgRGB=getRGB(orgColor);
. Q0 ]) u; K% A `! ?! U$ X ' r6 z' }6 e; {; s9 P7 Z* L$ g, Q
var parentNode=node.parentNode
; w! n4 |+ a" w4 l( R var parentBgColor=this.getobjstyle(parentNode,"background-color");
( c. Y* p$ \9 G( e0 v+ }
9 O5 @+ i% u1 ` var isLast=false;$ E. l9 q8 X0 d1 x* P( k
* y3 B7 A, q. G9 ` G# ~ while(parentBgColor == "transparent")
* D! }, I1 L1 K( S0 ]$ L9 `, K {
% @2 b! @$ x2 a J ~0 C F # O8 J2 W$ V' x0 f/ h
0 m8 n$ w; T, r5 |$ ?) e: m+ q
if(parentNode.parentNode == null)
2 C% c+ v4 `" q* W2 w* f: T% a X+ u {
, l2 m2 o( I+ P: u. ] isLast=true;" D( V9 ?8 e& v2 H
break;
. Z' i9 ~5 \: j( Z3 ? }
/ e- _; x" U+ G0 l$ B5 ^/ D parentNode=parentNode.parentNode;
* ]' R; ?: J/ I parentBgColor=this.getobjstyle(parentNode,"background-color");. E ?' E7 X9 N2 j, W
# Z) G6 x, L1 y3 s- S if(parentBgColor != "transparent") , P, k; z) a5 r3 \1 _
{0 {2 |/ R$ t( S( h
break;7 J3 D2 r8 ^# U# S
}
0 D+ b p6 s0 T9 u! N }
) z( h% H3 }% w0 G0 ^! E' V* C* c, I if(isLast) 4 P( B& E) [' U' g0 s5 s
{
- I' D) ~$ L2 x- j1 x8 o, @ if(debug)4 B, y2 r. q- ^/ u% g
{
0 t5 Y( o) J) p# {, i# z* Q( ] alert("last!!");
, P' u" U7 w- I% v }1 x( n4 B( H2 c7 P2 j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 \* Z3 r, I" Z" O {/ j/ o8 x: R7 D/ D
orgNode.parentNode.removeChild(orgNode); 1 F6 C8 b# A& a; l. T" P+ R0 I+ s
}
4 M3 s6 \6 W @. X }$ \( N, K0 H' s$ ~8 E
else) g* L0 V. m1 N$ _3 t
{4 K# `/ H$ X: K4 R2 ~2 P9 B
if(debug)
H6 b2 a, J0 |* Q {
+ l+ M8 i/ x: D" a- B; { alert("compare color and parent bgcolor!");0 m+ t" }, Q5 ]. b
}
, d2 @& H. f7 n9 {" H; [ parentBgRGB=getRGB(parentBgColor);
! L+ K# m5 ]# W( ]! H+ v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ F, I- G) {& j& ~5 s1 e) T1 \0 A5 S- h {* r; R! B- y( K' c- F
orgNode.parentNode.removeChild(orgNode); 3 ~' L/ u; V* S' P$ h
}
% K: Q o) y" u% `" ]; R } f; E; V4 \- C
} V6 c. r8 v- k
}& _. r6 B6 _. {4 F, e: g
}
3 w3 @' c; c& ]! Q# P2 f/ j }
4 b1 p* P k1 W 4 e: C( V4 \6 }% L; `/ [+ U
. k N6 {1 h& z/ f j3 j8 o var itemFrames = page.getElementsByTagName("frame");
! v+ j: B$ P* W! V! t var itemiFrames = page.getElementsByTagName("iframe");: f" j7 x4 N& P& k& E8 T7 Y; J
: ]& S6 x; E8 c+ [2 T var frame, iframe;2 o. p* u( C8 I! g0 k t7 c' C
if (itemFrames.length > 0)
+ X% X4 F$ V, u1 l8 ~2 v; ]5 a {
L4 j T, {, n. y' L4 { for (var i = 0 ; i< itemFrames.length ; i++)
' h2 I6 a: e% x2 G1 Y; } {7 H5 j8 g j% @- S
frame = itemFrames.contentDocument;2 @/ g3 `+ n' @( y$ c
this.RemoveHide(frame,objname); 1 H2 t6 d! E! k' l$ P# B$ a g! X+ @
}/ ~- H0 ~1 c& U Y; v
}) J' w; Y \! \& B z
if (itemiFrames.length > 0)
/ t3 b& n* G8 z) ?$ Y8 p1 ^ {! v$ q& E/ @3 M$ A
for (var i = 0 ; i < itemiFrames.length ; i++)
8 f6 c9 d$ r0 O' k {, H5 m: q+ v4 ~3 p$ P# E6 I
iframe = itemiFrames.contentDocument;, X! }3 i, K; o6 u
this.RemoveHide(iframe,objname);
p( k; I) z+ A' C! q% O }
T) B; I" Q0 [' x* G }; I- D$ H! z# k. @2 ~
}" L$ Q! Q5 Q3 F% y( ]. ^" \
catch(e)
8 S0 o1 @7 p+ X1 Z% E7 b. D {
% ~! M1 b3 f; ~/ k. K( ?- ~ if(debug)' @& ] O+ ~( X6 V1 E
{
% `5 b. ]6 G* L$ ]& b$ r* m# b$ M alert(e.message);
5 J4 w4 Q s4 g! H }
0 V. q5 K! [1 U" Z }
% x" }+ N. k- R( m }
" [) S$ t! `: f, b/ `/ x. S
3 L: j S; }9 j}! [; n% ^) D6 z6 N5 M
8 S1 ^) d0 g! e) I* s
function getRGB(colorString)# y! L1 W. N( Z Q6 k( R
{
# k5 Z( E% |0 {& s5 c* _5 A! Q var RGB = new Array;
; c0 m( R% D( g9 i var tempSting=colorString.substring(4,colorString.length-1);$ W$ p6 U# g0 |, L0 O
var tempArray=tempSting.split(",");1 U" M; P- b9 A; X+ {7 H, H9 X# F* a3 B
, B/ E. [4 }2 H9 P+ b! w
RGB[0]=parseInt(tempArray[0]);
6 [% k: T# p3 Y7 m0 H: @3 S+ I RGB[1]=parseInt(tempArray[1]);7 }. _ Q8 |0 {/ F+ p6 c8 H& k
RGB[2]=parseInt(tempArray[2]);. J$ q( V3 ?/ P5 Z
. X! k0 y* P" w+ j1 [1 H) [ return RGB;2 G' |9 W0 [" H# L0 ^
}
5 C, E9 }# i/ z" a# }function keys(evt) , b6 V. s' j1 y' B) `$ E
{ 9 x3 p4 _1 M5 I) c) j
if(evt.ctrlKey && evt.keyCode=="81")
# K" F: H1 Z3 @+ n {
# k9 n" ?" F6 o CleanHideObj.on(0,1);
3 o- }( k4 h; g5 p) C% n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# v' u2 n: q$ w5 |9 G* k4 j 3 F: b0 _ c' W: L+ B
}
( R7 _: ]6 e b } 3 q2 o( ^( ~/ w, s5 E+ o( `
document.addEventListener('keydown', keys, false); 4 A) m |9 D. K+ t, x( d. m8 \0 t
GM_registerMenuCommand ('Clean Hide',
1 V. f: f( S! M8 @7 h! q7 J8 @$ |function(e){- u% w5 O' O* A2 M
CleanHideObj.on(0,1)
4 q2 t/ E o: |/ O9 @* falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 b; S. ]2 \# P* k});$ A/ ]+ u$ ?( {5 l
|
评分
-
查看全部评分
|