|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 X6 b2 B1 G% \6 G$ V9 s$ a5 q/ V5 l9 {0 p; m1 c( m* p& V; r
火狐插件,用猴子
! m& F+ p7 V! L4 I: H$ l U% Z5 e% E1 }
var debug=false; . s" r: _$ P0 Y
var CleanHideObj=new CleanHideClass();+ n9 _0 f( v1 T" h
2 X0 l* o; I0 \- \$ r( x& F0 ^function CleanHideClass() " p2 a0 G) Q. n. t& k
{
' q/ H! P2 o r% e$ j3 C4 f
4 ^0 i% l+ ?, j% ~7 i+ t this.on=function(id,bMZ)" P( f8 G# T) R
{$ P% h( W" N3 {
+ r: a% M1 E4 U0 {( Z! @ if(id == 0)
3 k/ i! \' x7 z5 z3 l {6 J) r* [0 s3 R+ H) R8 U+ V: n
var page=/* document.getElementById("content").contentDocument */document;
. B% ]( x* `: Q- |' a+ H2 X3 Q this.RemoveHide(page,"span");
4 o! N6 n+ ?: y, { this.RemoveHide(page,"font");, a) H# G( D% ~' H) |: k2 J7 n( b) O i
this.RemoveHide(page,"div");
6 H9 |9 w& S9 q* M% V& l0 U this.RemoveHide(page,"p");
0 j9 l9 l1 c- Y. T% M 3 B6 G2 Z2 z# x: Y3 X! B
}6 `% B1 @. g, ^$ n& z1 U& E
, n5 f% _; K, Q- K/ i* t
} `: G9 X# J2 g5 c% N U
this.getobjstyle=function(node,prop)
9 N/ d& \# |* V0 Y {
! h) j, _4 ^% k" C: u try- D7 k# \- `: o& u
{
& q- Q2 ^ K' ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 u5 e+ G% V/ ~$ Q A+ K& l: | }8 s5 J) V# V( h3 s& ]! o
catch(e)
1 y8 |- m+ L9 ^$ t {
a) M1 X( D: m3 X2 R if(debug)9 a* \; P: I3 S1 X) e, y
{" |: `3 {3 A0 b* t& `, J
alert(e.message);
* M; U% T' l$ D }" g( t2 V0 l0 J$ @" F" z9 f
]2 Y7 I( M7 N; a& {" T return "200";
) A$ _. ~9 `; @) c8 c }" @2 r9 [% o# d
}9 G6 b4 _5 o7 i7 Z
2 F( V$ D8 q4 H- F: L this.RemoveHide=function(page,objname)
0 b( H: x. l* r; m5 D9 z& H {9 u- _" k! i/ f! h
try
3 _1 t5 K+ x; x5 @$ [ {
1 n8 T9 n' J* G. y, V- s. m var minValue=15;. z8 z0 I" Q" V0 R) \3 H- |
var objs=page.getElementsByTagName(objname);
7 ^. }' V3 ]8 Q' n1 u, v: D/ M% `( a
if(objs.length == 0)
$ Q. |# k1 R n" h: @. c/ K! c {
! m4 U& a( a1 s R if(debug)! I5 u, S. H3 L/ Z9 Y8 B# C3 f
{
+ z% }: {4 Z$ i% X* g2 G" d, l alert("no object found!:"+objname);
2 x8 @# I0 y! \$ w- F }
$ R1 }3 C$ }) L k! }0 n. R }3 A( _) T& r! D( p$ _) O
else0 D0 ~1 d! A6 P) @
{
; u: z2 B/ f* B8 {5 M 4 i l! t5 d; \) y2 u6 I& ]
for(var i=objs.length-1;i>=0;i--)
% B+ {* a5 F0 g7 \9 G9 P {
* D, _1 i5 O$ {2 p( [5 v' y: q var node=objs.item(i);
- T% l/ N0 y+ j+ i# m* T. p2 _ 8 o# J1 ]: Z0 ]4 {. {( m% R
/ S! o, E6 F4 B1 y' y. L6 }
if(this.getobjstyle(node,"display") == "none" ||
8 H- |# S) V$ \$ f; A8 @/ V4 E this.getobjstyle(node,"visibility") =="hidden" ||
8 n, r G$ M C% k% i/ I0 a parseInt(this.getobjstyle(node,"font-size")) == 0)
- Z7 \8 ~1 O) ?$ A {
8 ? Z) A. Z, d7 A( v if(debug)$ ~# q- v9 u: ?& ?7 ?( j e
{
+ m; I0 h* U# M, U3 m alert("remove invisiable!");8 F0 C9 M' R; V3 d+ h
}
. B3 H. T2 E. a! U node.parentNode.removeChild(node);1 L& e+ `) X" a3 c
5 K( j8 Z: @( h5 ^8 h6 s+ A }: `& M3 S3 |: v' \, w: H$ o! t
else
! N$ r( Q& o3 T7 N. t {0 n* e3 ]9 o, \4 U o& g
if(node.parentNode)
& S3 q1 `+ R( ?3 Z2 M! D8 j* Z {
( Q$ p( Z/ V& x/ |4 _& i var orgNode=node;
+ x7 E* L+ S( T5 V% A0 h; S var orgColor=this.getobjstyle(orgNode,"color"); m% J2 ~6 H7 C( W* W. z' b
var orgRGB=getRGB(orgColor);
# Q- F( ~( F4 b: k% v
2 r/ j# t# E. O var parentNode=node.parentNode
b3 S0 {7 k) r) f2 B( ~) i- A var parentBgColor=this.getobjstyle(parentNode,"background-color");3 F% U% C6 r3 V: i; Y) c, T. `1 t
7 ~ g( j# w3 J& e% V8 o
var isLast=false;9 [5 V- c0 z8 ^( e7 F+ j
/ ~4 R* b: \- ]# t
while(parentBgColor == "transparent")
! e$ B6 ~6 G0 m0 t {7 U. x5 D O! l1 H: o
/ I* x3 g! F$ d' E, L . c5 j; o6 x. g% M5 ~' s) [4 r0 k/ m
if(parentNode.parentNode == null)
/ m$ X+ [: O+ H$ d3 ]* o! Q {% A) a( `* ~: T; G7 G$ Y' c/ e# o
isLast=true;7 L% |" }0 R# O4 ]" P" D
break;
- {7 \9 S8 x. ?; i) J2 _ o4 { }
. M9 {( ]' `2 H, H3 | parentNode=parentNode.parentNode;
9 c* O0 `2 s; d0 B parentBgColor=this.getobjstyle(parentNode,"background-color");: `: h4 i: Q2 j0 J8 j" W6 s6 W- L) ]
1 J' S' Z+ h5 H- _
if(parentBgColor != "transparent")
/ o$ z$ L% B8 U1 D" [+ z8 ~- ] {
+ C; O* \2 B' K& Q break;8 y8 K/ K* M. p! _
}
]% @+ y2 j/ j: H }# U6 C E; M/ N
if(isLast) . K$ J# r V0 i/ f. w9 S9 S
{) g6 ?& l5 @# \& J; `2 F
if(debug)% |* n. {0 l% t# x4 @
{1 e0 W, j. Q8 U' v# [6 F: J7 Y
alert("last!!");' ~; h9 \9 D0 o
}( o7 l) }+ L1 m+ | o5 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* t- h& j& e3 s {
8 u% f' r* N8 y4 M6 j1 h8 i orgNode.parentNode.removeChild(orgNode); % p( P$ k4 A: Y8 t3 Y1 X) Z
}. g) q% l. O2 T3 T- O
}) }" _% {% z, h
else
A% @& ~. m" Y! K {4 F% _/ U" E# F0 K. e* o# j
if(debug)
% j( Q. {; _% u, t# W9 e {* N1 W o/ p6 N2 F! ?+ } b* f
alert("compare color and parent bgcolor!");
0 H X: X* d7 ]1 @$ Q }
* v5 q) Q) s9 O; A: W parentBgRGB=getRGB(parentBgColor);
& r, v. @" m. k6 M# M4 T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% k6 l0 p2 s x! \
{
! _. q4 J$ w+ u, m2 | orgNode.parentNode.removeChild(orgNode); 1 E; ?( T% v5 ?2 ]$ Z. S# m$ X
}
0 d, a3 u. p& k* ?" K }- }" W& C' _# e" T- l
}
7 s7 p7 a9 ^( H1 q. f c }4 O x' ]; i5 M+ m; j- H
}
$ d+ Y0 S9 F4 f s }2 z- ^& X! ^/ [9 ?2 r
4 t& Q. s. q/ A& K . z( M/ p9 R3 { @9 P: \' @
var itemFrames = page.getElementsByTagName("frame");
' _7 E: {8 r* H# q var itemiFrames = page.getElementsByTagName("iframe");, F* O% o% E# K" F( D
" f$ p& m0 U+ F/ N% P2 E
var frame, iframe;
* @0 R) N [3 P% l& | if (itemFrames.length > 0)
! m# m7 w2 |. _% ~9 ^) s1 ?6 G {
7 k4 g! x* P8 c) i for (var i = 0 ; i< itemFrames.length ; i++)
. m4 p; o. `4 I. Q! z# @3 Z {% W. x# P( A( ^4 D9 o
frame = itemFrames.contentDocument;
9 I; [( O# r4 y" z; c% J this.RemoveHide(frame,objname);
3 j: o$ M( x% O! [: b }
; |' z h) t+ J$ x- E }6 e. [1 E* m5 a" t% L6 K
if (itemiFrames.length > 0)7 ]! \3 I% v: n3 k
{: S6 w+ f( E- R0 T8 g2 Q
for (var i = 0 ; i < itemiFrames.length ; i++) + _; K3 S M7 U
{6 q* a9 v5 U6 B$ G7 K) |6 ]
iframe = itemiFrames.contentDocument;2 n0 g: h% }/ h4 l8 h7 U& E; h! j/ l
this.RemoveHide(iframe,objname);
8 N$ p: E3 o5 B. g# j }3 b) D* R6 F2 h9 \& Y" d& \. [
}
9 y8 |2 n- T' {& ?3 _ }
- l4 V/ S u# Z8 { catch(e)
; d# n9 H) u. T( \" A0 Y9 F3 @ {
! O7 E3 m& U* C; ^1 U6 S, v if(debug)
, u' I) E& r4 U, q% m {
! z7 {2 _, u/ m' \/ i alert(e.message);
6 X/ A u: o" t, Y }
4 ^* S" T3 V/ d: f# w' k }4 \6 k5 C2 v8 S1 F+ M- _+ E$ T
}
0 G. P) V& ?- m& N9 S 0 g$ o! c& {+ g- A& D0 J
}/ } S# A" _' j e7 V
& r" n8 P- S Y+ @. ufunction getRGB(colorString)# u) X! ]& ^% i/ k( Z
{
& v2 \; L R# X% y6 C& x6 R, H var RGB = new Array;% ]3 b2 N; c9 R% \$ R( S$ G' X2 H0 Q
var tempSting=colorString.substring(4,colorString.length-1); N+ N1 s+ z" R) k9 r
var tempArray=tempSting.split(",");
h% s6 v* F% a) ^9 N- k9 Z! S0 O: z6 x7 ]: b
RGB[0]=parseInt(tempArray[0]);+ g! _& q5 K) m8 O8 e0 L( t% K- s
RGB[1]=parseInt(tempArray[1]);4 q1 i$ r9 i0 ?: b0 H1 u( T5 s. Y
RGB[2]=parseInt(tempArray[2]);
! t% P1 }& }2 m! ^' D% ~" Z/ u
1 y* w3 p% g$ I- E# Q. }0 \ return RGB;
/ `( H4 M9 ~- w* F2 V}. c' r+ r# c2 y- ?
function keys(evt)
# T3 H' y+ R) K$ e5 [! m {
" b$ m7 T) q) t* t' _ if(evt.ctrlKey && evt.keyCode=="81")
1 F6 \ t4 ?3 w0 O { 4 `- b3 c8 D* Q( D5 C. R& k
CleanHideObj.on(0,1);# M' {7 I7 U5 I: b& ^5 K8 n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 i. {! }2 `9 L! q5 f
- t9 l7 [ d4 f2 ?
} 7 W" s U3 z9 H, x
} 7 k$ C* M- s- V& l f4 Z
document.addEventListener('keydown', keys, false); % H) r7 g: u& a& @: r l6 }
GM_registerMenuCommand ('Clean Hide',# s, @% W# c- k3 c' J; h
function(e){
; u0 u/ f* @+ g+ sCleanHideObj.on(0,1)8 R5 E5 R" H6 X& ]$ ?' d: K0 I0 n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- ] b4 l5 ~) J" s2 X! x});: e0 |4 Q# u; j, p6 ?$ Z+ \, \
|
评分
-
查看全部评分
|