|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / C [+ ~; G7 e/ O, I
" W* Y, {$ T3 |! X9 N" |
火狐插件,用猴子
" \6 ^3 N* J& |1 G$ ^% q3 v
$ o+ y$ l# R5 G3 D: Svar debug=false;
9 U4 a5 P' D. \5 B; @( mvar CleanHideObj=new CleanHideClass();' M: }. Q6 n3 a, b% n; D
9 R: S( b. }8 d Gfunction CleanHideClass()
4 S2 z0 `7 D0 H; Q! Y" k" `{ , q+ o8 I- z$ Y5 g6 j0 g
?4 \" D4 I7 S: }2 ^- S* H
this.on=function(id,bMZ). J5 J' ?* _: W% H- H& w
{
@/ [" }' S( L7 ?5 c " Z( v! s) V( E
if(id == 0)- e {( j( b" P
{
6 V* o0 P4 _. L0 |) M* s var page=/* document.getElementById("content").contentDocument */document; % O0 k0 ] D/ ?- T
this.RemoveHide(page,"span");
" u3 M' ~, J6 y A \5 J; `1 S* q) | this.RemoveHide(page,"font");1 d- C9 s% k1 B* Z0 y5 R8 J
this.RemoveHide(page,"div");
) f- T: C) y" T- y6 i7 f% t7 n this.RemoveHide(page,"p");+ A/ J# T" t7 e \
# U$ r# T1 s3 o! m" M5 n! J
} M% ~: i8 [* {
5 C0 L Q" ^) k: I8 m1 S: c9 S
}6 c, ]7 A% h9 H( T: g
this.getobjstyle=function(node,prop)" t, }3 Z4 B% J/ d
{$ M+ } `9 E/ n
try
, z5 l# f! U/ ^& X; a0 D3 d {
7 ]9 U& Y% d5 \9 ^! s6 H3 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( Y H4 K5 X1 Y* w8 T, Q* M1 } }
) B1 ]4 W: w2 j( ]2 Z) g4 o# t catch(e)& I+ R/ b: V4 I3 L; o) h
{
- ^) i' @* e: s' J% q) V if(debug), K) l6 Z3 B( H
{/ {; V% z" Y4 X% q* R
alert(e.message);5 l {3 u2 ^$ p: S( U+ N- [, @
}
# y* n1 W, l7 Z; n7 ^+ a & M! O! c6 M5 `" [2 ^& n1 U
return "200";
! A3 z9 e1 Y8 J! O1 S }; {# |! m+ {! Y* @' @
}
8 f9 g/ z4 z( j
m/ g& [! w1 t! a8 ?( N/ e this.RemoveHide=function(page,objname)2 m: H: R+ U+ k% V' x% f5 f/ _! M
{$ O1 N# m$ t5 t
try1 M* \5 Z8 K, d+ `) v
{3 C! F* D# @1 l
var minValue=15;9 Q& n( p' `7 v
var objs=page.getElementsByTagName(objname); % E1 l2 _- k- U; }- Q
- E, u" L3 ~7 w7 {. k5 Q9 K. c% K
if(objs.length == 0) 3 Y6 t$ d" x$ x
{5 c( l# ]( f$ a5 S
if(debug)
3 e% o U5 d! n$ D! l7 ^; [5 J {/ {8 g% A7 T; E$ J/ r
alert("no object found!:"+objname);
7 e# ~5 S# A C* r; D }4 Z8 s& i& |( S) ]
}
, ~0 @+ `4 |2 P: ]" R else( d& I8 Y3 D, T
{
& Y* {) Z! j+ H
: q4 X+ I3 W, p. E5 D6 A0 l- R4 v' Q for(var i=objs.length-1;i>=0;i--) ) U$ _6 b( ?7 U0 G9 j; h
{) q. @, M, U0 m1 a
var node=objs.item(i);
, p5 ^9 o4 r4 s. [3 K( Q7 s# Q ( X4 n2 g" B3 D2 C
) [8 K: n: I6 d if(this.getobjstyle(node,"display") == "none" ||* x" @- D5 V' y( b b' [
this.getobjstyle(node,"visibility") =="hidden" ||
8 z8 E. c$ ~4 k% ^" F parseInt(this.getobjstyle(node,"font-size")) == 0) 9 @- w" c4 b3 o4 ^/ F4 N
{% h( w; @7 A- \
if(debug)
) I, d9 S( Y3 g9 D {
$ o8 K: |4 G; o2 x6 p% Z. f; T alert("remove invisiable!"); L& D" q! \1 A/ T, z
}( _ y& l1 t! s% Q- M/ n
node.parentNode.removeChild(node);
( w9 d" x$ K& Z8 _- |( y: C ) C6 m2 o" @- N7 W. t
}( }; B4 B/ Y6 ^+ |+ b
else
$ J: R$ m8 J3 K% V {
) V4 t: n" P a0 ?7 q if(node.parentNode)
\ P' {$ O0 T# B3 W {( E; B7 W& L9 R( A! p5 E/ s
var orgNode=node;5 V2 w8 H, K- e3 H- _. G
var orgColor=this.getobjstyle(orgNode,"color")
$ m: X8 {" [ l* r9 W var orgRGB=getRGB(orgColor);
: L6 ]0 b6 w! { d' @' k + K+ D, Q, ^& w; U* j7 e7 B
var parentNode=node.parentNode
1 R- ~8 D1 X! s7 v; G' ]+ L5 A M. ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
- A1 b- i4 [' z& T- J) q2 E
7 x, m2 O4 ]! ~+ o var isLast=false;
* W0 s8 R- p# ?4 r1 y
9 R. ]6 n P& f( F( |9 D5 v% k4 a while(parentBgColor == "transparent") 9 v$ Z3 j: l# i; }. L2 [
{
' _ R3 ~( [3 @7 o k8 Z |9 S; U7 @* C$ u+ y: J
4 P! h; E- }! B9 f6 x
if(parentNode.parentNode == null)
7 e/ i* U# O; P ~1 h9 u: O: B {
4 W3 R3 V: y3 f. k1 j isLast=true;# ?: U" F% t; Q. z6 i
break;
; E; X3 }' b: W4 Z }
- t, V; F i4 O3 B7 p parentNode=parentNode.parentNode;
. c; C$ c$ a5 g1 j5 G5 v parentBgColor=this.getobjstyle(parentNode,"background-color");
^* W2 R$ S8 E7 ~; s( d( \$ `. m! R" U0 G" U
if(parentBgColor != "transparent")
5 _0 [1 I( z# F, i0 h. @/ B4 ` {5 n/ m. V) I( v. u; B O* d
break;' _! J2 P$ ?4 I& k. |, `
}
' x& A3 U6 s0 s( x+ l& j. C }
) S3 `) F- z$ ` J* A$ C$ Y if(isLast)
" T3 A9 q; I$ P! J {
@4 E5 Q5 g, L* J6 [# x, W if(debug)
+ z+ z+ U+ c* T7 C+ f. P$ C {
% w6 }7 O( t: ]) H* n alert("last!!");4 t; q: i: x) r' N1 l4 g m. v, S
}
4 ]4 l7 ~5 E5 V$ | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. A3 F$ x: M2 o# N! ]9 o {+ e" S0 j& B1 s( N# N" j5 f
orgNode.parentNode.removeChild(orgNode);
+ M3 e' w8 U# X6 \ }
. h( y; T9 i3 u }! s' l1 D% H) L+ W- `
else
$ ^% Z, P8 Y+ ^; U8 Y7 b. _ {8 `1 x( X) N" s
if(debug)! O$ v" }; Y/ P2 S) h! L" q
{- `' a( X, B- s: {2 @
alert("compare color and parent bgcolor!");: c a3 P! s/ _+ e1 v {% A1 }; C* D
}3 c5 s0 M$ }3 n3 ]
parentBgRGB=getRGB(parentBgColor);
$ v6 ~. J8 {' B6 W# l if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- ^9 ]7 e7 J6 ]$ F {
* B8 h+ U* Y% }, O$ i' s" Z0 W, Y5 u orgNode.parentNode.removeChild(orgNode);
. y- t! o5 \) E. T( }+ C. M4 f }
5 {) o3 o0 M0 R; S9 o }& v% }3 O5 ~+ D( z
}& l0 o+ D+ `4 K; w& R1 Z l
}
/ J7 {. C' j" K7 Y2 F, ? }. K6 @: X) g: }
}- s( A1 q5 {# S/ I; Z
2 k/ J% q# K) e- a7 h$ m
4 P" _6 R9 Z. ]7 z$ c2 K var itemFrames = page.getElementsByTagName("frame");/ X3 O7 q o9 L/ G. W( `$ d
var itemiFrames = page.getElementsByTagName("iframe");
& ? D7 ?7 [# I1 E 8 L- X! q4 n A$ ?7 ^
var frame, iframe;) b& ?- @$ H6 g4 G; d# H! f% k
if (itemFrames.length > 0)
' g: l3 J" F# f& ?) q, J3 q1 f8 U {/ l+ d4 n1 P' y
for (var i = 0 ; i< itemFrames.length ; i++) 5 }; Q. t+ Q* t+ f8 P/ P) W; L& b; k/ P
{
* j! F" z& E! _- a4 \2 v* ` frame = itemFrames.contentDocument;
# L0 D& e' p) F3 W% O this.RemoveHide(frame,objname);
3 [& o( k8 B. }9 p# R# x }
9 b3 e% t, v8 L& p [5 `) F }' P! D4 x ]: d& h
if (itemiFrames.length > 0)
; ~; ?- S. E2 ?, T {
) G7 S% \! s, X5 K, C for (var i = 0 ; i < itemiFrames.length ; i++)
4 Z, ?& @* h, v {4 o3 y' ]. Y7 e% x" B ^3 r: `
iframe = itemiFrames.contentDocument;
# b0 H" `: }8 ] this.RemoveHide(iframe,objname);
, U# R' E9 ?8 |: O. w4 ~) t }) C& v6 Q' p; ]; k3 }
}
. K0 f9 O3 Z; C/ V( Q }
8 N: { Y# y3 c% ?$ |2 H/ j0 l catch(e)
: u3 n3 Y& \. _* s3 e, ~ { M4 t9 `7 Q1 P& W+ D/ _
if(debug)& O# Z& K: i# B/ Z5 R. a8 x2 q! q% T
{3 r( d s0 v3 T$ {
alert(e.message);, s7 D) X2 r, [
}) K$ a! G: ]( y5 u6 e( P- W
}
1 b. @5 t9 O) W5 w" ^2 D" Y }) [4 {% F1 J" }! p4 v
7 E; T- e, Q6 y}
; q- k s& u2 H! R: C
' h% L2 s& n; g/ p( lfunction getRGB(colorString)
; n+ Z! F+ i4 m$ K/ U+ S1 V- M; C{
4 e: Z$ @! q" |' c- _ var RGB = new Array;
4 I a) V/ I" p2 o$ N8 @0 ` var tempSting=colorString.substring(4,colorString.length-1);
1 v# J) k" D/ |$ B; j0 T var tempArray=tempSting.split(",");
1 W+ |6 ~ l$ B, K2 A
3 B8 r" H5 J. D/ @# F" v& ^4 B. g, i RGB[0]=parseInt(tempArray[0]);3 y: B5 G$ L3 r5 `
RGB[1]=parseInt(tempArray[1]);& {6 C( A) K6 }2 Z% W# Y$ J4 ^
RGB[2]=parseInt(tempArray[2]);: `& \" S/ {4 z5 \+ [/ H, l
& v8 I2 U+ Q a# x5 f) ? return RGB;
4 g& |8 {8 Z; m( O}
. C* I6 {! K( V. _/ h! kfunction keys(evt)
- H5 N+ b4 i! t) F { ' X/ E/ S/ a- o/ p5 L3 f
if(evt.ctrlKey && evt.keyCode=="81") |, D m% M0 l: Y$ `
{ - p, e) w1 Z/ v3 y) m
CleanHideObj.on(0,1);! P1 i B3 L, _- j# C6 H7 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); |: @# s8 c' b
9 `$ E+ Q4 Z9 l9 t# R2 P7 `+ H K1 r
} ' w5 |. G# v+ ?; T( o- {9 X' Q" |
}
) @6 Q1 g) y" P) m$ h5 g; ]% p4 wdocument.addEventListener('keydown', keys, false); ! w2 _$ {% w/ I- u; q, J; M9 V) r8 D* m$ q
GM_registerMenuCommand ('Clean Hide',
, N y2 @# F9 l/ l" J9 Kfunction(e){- ?' c. s0 O8 T( b& ~$ ?
CleanHideObj.on(0,1)2 y) N: \& P7 l$ y) A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); {5 F4 |! O9 h
});! d0 l% e4 G b8 z, j$ H) L
|
评分
-
查看全部评分
|