|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ k0 A6 Z) W+ v" k8 ~/ `( r2 T) t% \" ? C' V: L) Y
火狐插件,用猴子9 R8 e/ C3 J. R. T; w7 {* q R
: P1 j. a1 C, ?! n) R$ n
var debug=false; 1 |+ p( X5 Y) ?( f. V
var CleanHideObj=new CleanHideClass();# s$ T2 w+ x" k; J4 ]2 g
+ C6 C7 }, Y2 A* _
function CleanHideClass() ; g+ t* x- }" V' K: s
{ E t3 p- E1 ?" R; X
: s- U1 S8 q: }* _) W( u5 ` this.on=function(id,bMZ)
; T) N' |* T6 J: n! b {4 S! ?! j8 }$ z% Q
3 N/ x3 K/ Z% Z+ | d/ d* ]0 c! U
if(id == 0)
" L% f& R7 M$ q7 J5 ^6 t {
- U: X6 w/ u0 r% F& w2 c var page=/* document.getElementById("content").contentDocument */document;
( B# O& `) b+ t this.RemoveHide(page,"span");7 y/ T7 o) l8 _' `+ |1 A$ [
this.RemoveHide(page,"font");& h' v0 q1 g$ G) Q8 ~& c; ^
this.RemoveHide(page,"div");% N. {, v3 b8 T, `
this.RemoveHide(page,"p");
& e0 f! A. h4 u k6 u$ v' Q
. ^ l# x% o: H }* n$ G- o0 B# p5 n Z1 S; w% n
- d0 u: k& b8 ~, I: f
}0 o; H7 e) k7 @/ F- x$ l1 Y. z; D1 c
this.getobjstyle=function(node,prop)8 K+ l# V! {0 f* d% q2 a1 V' I
{
1 P( w* r1 V2 w7 X. T5 g) b try; c C; V b- L$ E
{# {' [% n7 C5 z# \$ x z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 Z( G2 a( ]# F# \+ k5 m }3 N! G- F9 S" f' P1 c4 K6 z+ d
catch(e)) U' w' _$ u$ ]5 P3 V4 j& ?
{
( m- n# l- M* z+ T+ t/ ?7 s if(debug)
% Z" U& Q( G- ~ {+ f% x1 k/ P3 ]1 R2 _# q) [
alert(e.message);8 p" N' w. T- H9 o8 P" m# \9 a
}
8 }# Q' R0 h1 C5 B
( F) c4 W3 \' y( D; G8 W5 w return "200";
5 c" r; D3 y* s }
: `* |% y) W: m: |/ o }
; m3 \8 w& X$ U7 q
! D- l0 F0 v- [/ r this.RemoveHide=function(page,objname)
; C3 ~/ f& Y6 x7 ^ H {: d4 K, n7 h" F5 z
try% n6 Y- U+ i6 Y; z
{. [% ^/ ^7 q4 M8 E
var minValue=15;
6 {$ j5 c( I6 k% u+ N var objs=page.getElementsByTagName(objname); + r* H. x# s$ x) ?- l! ?& \! e
' @5 I5 a& _! s. x7 E d
if(objs.length == 0)
1 p6 Y [7 C3 m8 Z& E' S5 Z4 @; g {
- u0 R. p; J4 V0 A Q/ \ if(debug); ]. f% ^( T+ _( }
{
1 o8 W7 ]4 `$ v Z+ y alert("no object found!:"+objname);% K& Y2 J4 l; T, S+ A, F. e0 J a
}4 d G* u( L M: r! l3 f8 x
} P+ k8 [% k% Z6 E
else) g4 {! b! b6 v* d! @' j- q) h
{
. N- U% r# b% |' W H3 e' E2 S) T! Q0 ]
for(var i=objs.length-1;i>=0;i--) ' }* {/ _8 q# B" G7 P: E. I
{
- g' |8 j* w3 z. n& B var node=objs.item(i);
# |& e' ~, z9 Y8 [6 I. ~
4 s5 V" _1 @4 c' X" G/ P, z, C: ?
. U) Z% X0 M7 ? if(this.getobjstyle(node,"display") == "none" ||
% }8 O4 k" N; K9 u& N this.getobjstyle(node,"visibility") =="hidden" ||
* L' ~7 u/ {4 l6 z parseInt(this.getobjstyle(node,"font-size")) == 0) ; v- h! P$ R8 B7 }% K
{6 @+ B5 S. C+ m3 C! v% J/ X: G0 ?
if(debug)
3 p& Y' _: s7 J+ ^6 {' S) m {! b2 r' z, r& ^% c
alert("remove invisiable!");' `/ h* \+ A! s5 w# s) }
}% H0 Y$ `/ V! l. Z
node.parentNode.removeChild(node);& b, A$ Q2 q( l* j
4 y- G6 @0 v; m( |" s" f0 K. a
}7 A- M6 G& P( r' [ h |
else
( A- Q6 c; X2 \6 c {
8 M0 ]0 }! T) c2 X" S if(node.parentNode) 3 V5 |7 v8 j- n3 W
{) A5 I7 m% c; `) x, n
var orgNode=node;
7 x5 q* v4 h- l8 l var orgColor=this.getobjstyle(orgNode,"color")
9 o- @ g5 N* R& @; j) a9 t$ j var orgRGB=getRGB(orgColor); + I6 l7 h3 I( [
, K- a% j& y5 N var parentNode=node.parentNode" V; }) Y/ N7 j, f: t
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 x( J; ?( d* U0 G7 i
1 M! T. q8 \0 r# O. f2 e2 ~/ o
var isLast=false;) s" x) P! W, N1 K( q
A% a* [% V E0 x6 L while(parentBgColor == "transparent")
5 m, r7 B" i+ a: {6 @ {4 H% n4 S+ k7 ^1 Z& V) ]* A
- E Y8 J# K8 W% h4 p6 H# A* J, h2 L" b4 |
% E0 @% H4 L ~" x9 o8 B- @ if(parentNode.parentNode == null)
3 X S0 F! p# w( z9 L. S' E {
5 V8 U, m5 v0 H! H- t' i isLast=true;9 ^1 u D1 f k/ f
break;$ q0 \- L/ d$ Z$ ]% J4 W3 d
} \8 k; y6 Y! s0 R
parentNode=parentNode.parentNode;
- P" J# F M/ B4 @2 q7 p$ F6 ] parentBgColor=this.getobjstyle(parentNode,"background-color");8 h% I3 Q j% C0 B
# K2 _$ e7 N- E: M* ? if(parentBgColor != "transparent") % A" q) T' x& C9 `4 Z7 ^
{
1 V7 }! Z: J3 q% y break;
% G, S1 w- s! F }
4 G6 T0 x1 K2 L1 j) N# J }
$ Q1 F# c9 a/ |) q3 D4 d8 { if(isLast) ' |8 g2 X( l9 M3 I( e
{
$ J+ _( g7 _( X9 i4 Y5 ^ if(debug)
$ h$ ?9 E. u5 t9 b; B6 P7 Y6 H {
8 q5 ^' D7 ]4 }7 M; T# f7 a alert("last!!");# k( U1 F8 A, p$ a, O2 N9 o
}
/ G8 H2 D1 E" K+ S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. M6 I+ ], @- a( y6 m' x {3 q( m, y5 l" d
orgNode.parentNode.removeChild(orgNode); # t! v: _$ m' ~
}3 Z+ U9 L- \, x0 l: K6 X. c3 U: T
}
7 }" Y* t+ w, `5 U1 y' f' E else
- a+ m0 _( _ H. p( F3 ] {( ^4 D6 I% z' w( ?$ q
if(debug)6 j# e# S3 a. |8 Y
{
" _) E" r4 X. V/ q3 o/ ?, F alert("compare color and parent bgcolor!");% z+ F; w" A4 y! Z% L
}
8 }1 y7 `( {, J parentBgRGB=getRGB(parentBgColor);0 G+ `& c ] E" Z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; ]6 B; }6 U, D7 M) |5 L {
% d+ P, Y9 Y! e' R orgNode.parentNode.removeChild(orgNode); 2 F7 i) d, ?/ y$ E, `7 c/ s
}. b- m( u( `$ w2 v3 V$ o2 V
} T1 c" e i4 B4 W- `/ C8 }
}/ `. h, M/ A0 w
}
; j2 _3 i/ \- l, O. X+ F, c5 G }
4 r' x/ K8 p3 X' K$ e: Z7 u. v }4 ` m! m4 j% j& s, l9 s8 H
* S$ R7 Z, n; W6 w0 b
' I3 y) o% h; }0 m% d& w4 o4 d var itemFrames = page.getElementsByTagName("frame");1 {' y6 B$ m! D9 C/ g* v
var itemiFrames = page.getElementsByTagName("iframe");' J/ D4 O W$ \0 L4 W `
$ o6 O4 I% C. W& @, ^5 D0 _& } var frame, iframe;, }, z& R5 S% }+ v8 Q
if (itemFrames.length > 0), l" t) g4 G$ o/ R1 L
{
: F0 l; M3 {) i for (var i = 0 ; i< itemFrames.length ; i++) 0 j, u: @4 [) n5 d0 s. o( i/ g+ w q
{
( A8 M8 V2 [/ a2 ^8 c frame = itemFrames.contentDocument;5 [; C/ f9 Y# O$ @' P
this.RemoveHide(frame,objname);
. W* z. F% M3 @ }
% |% G9 Q. m: z/ |- r5 a$ E* Y }
1 G' |9 D4 K1 T- ^5 a% @& c) I) t if (itemiFrames.length > 0)
6 W+ `5 Q: a9 w0 I {$ R" Q1 [/ C) _, {4 y9 f
for (var i = 0 ; i < itemiFrames.length ; i++)
# v' ~4 K9 e$ _8 ? {
$ G! C3 u1 A0 q' A. \/ J iframe = itemiFrames.contentDocument;( J) ]' @5 o' x% w
this.RemoveHide(iframe,objname);
7 _7 W! M1 h% i# ~ }$ w, o, u. m( Y. }( R( c; I* y
}
5 @+ h$ _7 A7 s0 v- ~ }, _- ~$ V, t+ v1 C8 Y. p
catch(e); [+ [) H5 v8 Q/ o# @, \
{ P& D P8 W# [& N
if(debug)5 q% n( r! b! Y+ E
{& J3 N6 p W4 B; ^" n2 O3 ]1 \
alert(e.message);
% P/ k) ?, Y7 P; q' h) k* p5 P7 Q% T }
, [- n. v! ]7 l" v }
8 V, U3 s, B1 Y- x0 P }
/ ]# _( ]. O* n2 Z$ G/ Z7 X
7 [- k, ]7 a" l}
0 D8 v) j" f& i
4 q" S2 o6 }' Hfunction getRGB(colorString)
& j! F( ]2 E0 s) ]& k/ X4 N{
- y3 \* S5 @# j: R5 V1 R2 D P3 V var RGB = new Array; q: k& C: T7 N6 w8 H( A6 y
var tempSting=colorString.substring(4,colorString.length-1);
* ]& k0 A# }7 N; P2 o3 w3 h var tempArray=tempSting.split(",");$ _0 u! Z& l3 ^/ q# s2 F' F* \7 }; I
! S: b) f+ P- m9 }
RGB[0]=parseInt(tempArray[0]);
" v/ _( m0 E. Q RGB[1]=parseInt(tempArray[1]);( R4 L( x4 p x$ T9 \! w/ S
RGB[2]=parseInt(tempArray[2]);
6 H* f* o; x& O8 y7 z' Y M
! [) w7 N' N; j" Z return RGB;0 }' d. g4 y) Q! F
}
- A5 B0 l$ N( t! I& c+ ?+ ?: Jfunction keys(evt)
+ I6 G9 ^% F3 D8 ]$ D { / l) ~* q$ G- U
if(evt.ctrlKey && evt.keyCode=="81") ; Q K* {3 k. H
{ 0 a% k7 s+ K- [
CleanHideObj.on(0,1);
3 t! W9 v( f; K. f* s7 t1 A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , i& ^% y8 A' l
! B5 w' x4 {5 L4 B v; c* F
} 5 H1 R( {' ?- n+ ]) \+ Q3 S0 k
}
- ?, J; l/ m( y! S8 s, N Fdocument.addEventListener('keydown', keys, false); ) v) q5 u- ~9 t$ T* O1 k( N; ]2 B
GM_registerMenuCommand ('Clean Hide',/ \2 V* h7 o- E8 P1 Y+ Q' x3 ?3 Q
function(e){
* N7 r% r7 H4 @4 k' l# pCleanHideObj.on(0,1)8 d' ~& u. w! Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 m! ?8 S" p) N; M
});6 K' D% L: m& Z
|
评分
-
查看全部评分
|