|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 S" U8 S, S% u9 Y
0 s# J0 E0 a: ~% v# O& ]# X
火狐插件,用猴子+ b% L, q* g |5 r
+ z/ T4 a8 V3 \4 O8 ^# p% \7 Yvar debug=false;
& Z0 U$ x; t: b: A, hvar CleanHideObj=new CleanHideClass();- u1 i4 d& N( q9 b- y
0 y. x: z5 D) Tfunction CleanHideClass() 2 P* r3 r4 g* L' y5 O5 J
{
1 x( _" {/ K9 J! w( P* M
- }5 ?# q3 P5 t( ] this.on=function(id,bMZ)7 q# ~& Y! V$ j: ?* |3 T( [! j1 L
{; [/ J4 W* K; d6 u% D) X5 ^
" o, X) L6 o$ J5 F2 r
if(id == 0)! N5 J7 U9 C1 Z
{; k6 s1 F6 Z+ {8 W( g( R
var page=/* document.getElementById("content").contentDocument */document;
; F, X7 X& z8 K/ b# ~8 u this.RemoveHide(page,"span");4 ^ g& J8 N' K& N/ U
this.RemoveHide(page,"font");% S9 y$ I( z% H6 y5 A/ ]3 X9 _
this.RemoveHide(page,"div");! z" O: d: @- A: q$ u+ R3 i
this.RemoveHide(page,"p");
: r* I! {4 @+ L5 {0 A
3 \4 W3 [# }4 N$ ] }+ H7 ?$ I+ L1 L3 W* f7 x; ~( G
3 K; @" _: D. y) C6 W# @
}
) v; M1 P$ t+ W this.getobjstyle=function(node,prop)' l6 I& W* S; U2 l( i
{
# s0 v! i' ~* S* [ try+ X4 v5 [# U) _3 J9 |9 E {
{
" _' s# j- |" c) j0 S" j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% t1 ~' g, k* U+ V, p6 z
}
$ Z8 o: E: E7 \- K catch(e). k* E/ n: m+ T# o. o+ u
{- G$ \+ v+ q* }, V3 x( m
if(debug)& q* _! o! h) ~8 @
{0 z% V5 e9 \+ K: y% I4 z) [
alert(e.message);
- r! i7 g0 E/ f3 W# G# ~ }
$ W9 _2 V$ g/ M; t: M; L, D7 F , i$ X, S+ W! d7 w: H
return "200";
. q3 T! ^1 [0 \ }5 R: b% i9 c; L2 v: B1 L9 C
}8 p% y( ~$ b2 |; K: P0 P
: m# k2 `! T0 T$ _5 _ this.RemoveHide=function(page,objname)
% I* l$ F* Q; Y7 H, v9 _ {
. H3 \. ]1 T* Y" E; L try1 z9 v- _+ q7 s1 X# e m! L Z
{; O6 P) ?. n y# z
var minValue=15;! d8 j5 H3 i# |7 B2 |" o) G
var objs=page.getElementsByTagName(objname); - g0 d2 z- D+ l( S/ ^* `# _9 X
0 {7 R2 T0 S& @! Y b
if(objs.length == 0) ( o5 g7 @6 D4 ]/ Y% D
{
, ~3 }/ z' r" T" `$ P- |+ r if(debug)* y. H/ x) S( Y N( ?6 [
{. ]3 p, v/ f" h ~5 k, j/ W$ Z
alert("no object found!:"+objname);& {2 w* h9 Z1 b
}+ G8 w* C- c" z% A- E$ S# v
}* X5 m7 O. O! u4 q, ~
else
2 b/ w. _/ s3 W9 s* v* b2 f2 b. o0 F {) n# O" Z! |; C6 k U b- r# I8 [
G: Z/ p! X1 l8 q( E! ]- ~ for(var i=objs.length-1;i>=0;i--) 5 B, v4 }% b' q9 e/ u: o; X
{1 x. P! O6 e! l* l
var node=objs.item(i); 9 E9 F: x- I- I; P) D7 @7 e$ S' u
0 T5 |$ u" R& O8 v4 I
$ [1 z0 e+ m, ?) A if(this.getobjstyle(node,"display") == "none" ||
- q7 ^, S, k; a* }# w this.getobjstyle(node,"visibility") =="hidden" ||2 X( w+ N9 Z s) m9 H1 h9 i
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 e* F. ]0 W1 B! R& J: v$ g {
! p6 Q5 ?0 e- ]" H1 S if(debug)
( h% p3 l/ U5 F4 U x4 J- H {
2 o8 r. Y8 k* `( r7 d) U alert("remove invisiable!");
! ~2 R: M& P" F }6 C/ b* I6 S7 B( {6 T T
node.parentNode.removeChild(node);
- d; N6 C0 v& x$ Y3 R
8 S; a' ?# y y; G% ? }
/ l8 ^$ m$ j( b: S0 s! `% v0 D% { else
; ] M9 F2 u) w2 ^2 Q+ C4 Y {, {5 F' x* J/ g; Y( Y
if(node.parentNode)
3 ^& V! [3 T; U& v3 G; r {
/ N$ _& v* R5 _5 }% [6 X3 o9 O var orgNode=node;
' ?8 B* e* D& k2 e! b5 ~, O" l var orgColor=this.getobjstyle(orgNode,"color")
5 p3 I: D: Q# n9 V2 D* z+ c var orgRGB=getRGB(orgColor);
9 k0 o/ z/ q' u _0 A$ s! D& {7 O 2 K T. N6 n4 }3 Z$ L* c
var parentNode=node.parentNode
( q3 O4 C" t8 j9 p% z, ]6 |" \ var parentBgColor=this.getobjstyle(parentNode,"background-color");* c) |- T A+ M4 p% |
( h% y, L% b* B) s1 }; L: E4 N var isLast=false;
0 N+ J N. i2 o/ N; B
* g) B3 b9 i* m6 n+ } while(parentBgColor == "transparent") / `9 f) J9 _3 d
{8 y, R% f9 M2 v* B3 t
7 }; \& L) }# t% Y
" W, U8 A3 a) n. a3 C" ~# l
if(parentNode.parentNode == null)
* v; h- _! T' q4 C9 e6 Q {
. y- m5 r8 o6 Q0 n q isLast=true;/ ~5 j; @% V" E# W
break;
6 u2 b9 x; u+ U( g2 { }( \) x# C y3 M) y
parentNode=parentNode.parentNode;$ e2 e/ r* i' d8 d4 c9 s
parentBgColor=this.getobjstyle(parentNode,"background-color");
- W. p. z7 y4 l; v, @2 I5 q
! s6 l7 Q+ V, \3 l* k' y if(parentBgColor != "transparent")
0 J |! {- g/ u! t { W! }5 D/ t2 ^6 J- V, u7 b$ E
break;2 U+ n8 K( t( K$ @- E5 \7 ]1 l
}" Q, u( e. p* M( H) d3 i
}* G8 u9 N: E5 m. R1 ^) ?
if(isLast)
$ h8 Y' z! g& n1 i {
2 N v5 n' [) V. x s' e if(debug), ~& a0 c' C, F- f4 `0 W
{9 I8 b/ ~8 A' g8 X
alert("last!!");9 ^6 @2 |7 `2 v1 ~7 _0 C
}0 }. @ k: ?2 ? ~0 I" x6 p; [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& H4 K2 {3 ^/ e, ]% I2 p5 _ {
) d: m& Z3 C5 C/ t6 K orgNode.parentNode.removeChild(orgNode);
/ u- [* L. P$ I" i5 z: ? }
4 @3 E6 q- W1 `6 H6 T9 L) N }
8 b7 z: ~8 b7 y* F, V: i7 O5 }" N else
. |3 H" @4 m/ d1 n {0 m7 [2 y. p+ o: k
if(debug)
% S6 o* }; b( j {% J9 J( D2 v3 J0 C: a
alert("compare color and parent bgcolor!");' F: D2 d7 j8 |( } [9 c
}
" f4 v0 ^) p7 Y" _- S& _, ? parentBgRGB=getRGB(parentBgColor);8 h. l- p& V( |# g% L' m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& |! w& y8 O) p {
5 T! ^8 X" T$ `/ p: r+ ]5 | orgNode.parentNode.removeChild(orgNode); 0 R; W& [: V1 b5 s
}
8 S9 n' F' {7 s* s }4 O. ?, ^: |/ q# P! N* O
}
- a9 s$ J& u! c }2 o8 h1 Q" P. ?
}1 R* j0 V' z- b9 V4 {
}
$ L9 |3 t( }1 r4 \+ v1 j; D
& p" f( P9 \( K5 F2 p' Z9 A" @
" |7 ^" q3 j" ~+ e; b var itemFrames = page.getElementsByTagName("frame");$ L# B; _6 X" P" c6 g5 F% M$ J e
var itemiFrames = page.getElementsByTagName("iframe");2 h) W/ D4 z, y
$ s, Z/ [ V/ K9 Z J
var frame, iframe;* I2 t: I% P- G) V; N
if (itemFrames.length > 0)
d% v9 R% L- M/ }3 J4 j {
, i8 \( U3 }' |8 R) } for (var i = 0 ; i< itemFrames.length ; i++)
+ q: J z" p9 Y1 y: }% D1 @" A {
+ @, j2 v3 D( {" U1 a) T4 S; z) q frame = itemFrames.contentDocument;4 A# s5 G* F! C# I2 y6 R4 W
this.RemoveHide(frame,objname); 4 ?0 {" K) e* D4 {6 G2 c
}
' s, b/ C0 X9 ]) K* I& { }* h6 l- b/ D* [" k2 \
if (itemiFrames.length > 0)& B. C8 [9 @% ?
{
( N: T5 R) S7 G3 C7 Q8 [ for (var i = 0 ; i < itemiFrames.length ; i++) ' z4 ?, D% F& E1 m2 e) Z+ e# @
{' @( `" ]# }! J8 E" o
iframe = itemiFrames.contentDocument;: p. h% S8 I; M! {3 w
this.RemoveHide(iframe,objname); # d$ E% C4 J$ O! G. X* p9 g
}* q+ U& v, j9 I
}
+ s* T4 [- n$ L0 |: J8 g1 A& U }5 R( X4 S3 I. k. |
catch(e)
' e8 I C4 _/ H {
8 t% Z; W$ c, l if(debug)/ l# `& X2 q$ X$ ]6 E( _
{
8 T. p( ^2 R% z6 ^. Y& R/ C# l alert(e.message);
8 m4 {( ~* n. r% B: @( ~) b }
4 x% ~# n% o8 x! S }
1 o! f- F$ O1 [' X" o3 E }
/ F2 Y7 K; @2 C2 X
0 R# y2 |( c+ V' p. I4 T}3 L" |% L. }) [2 A
7 R9 S4 Z1 J3 a! S
function getRGB(colorString)
& u& d r, Z% {( _0 P4 l{
! X7 W+ z3 @8 P. A ]# K var RGB = new Array;' d$ [, R( k( ]& \7 j6 P
var tempSting=colorString.substring(4,colorString.length-1);# Q7 D! [/ W% C
var tempArray=tempSting.split(",");8 ~4 ~. p" ]. G) }* K$ U
) y/ }8 h, ]7 s( d' e! ? RGB[0]=parseInt(tempArray[0]);2 F. S7 o) ]# l& a1 X* _% W* F
RGB[1]=parseInt(tempArray[1]);
2 ^ v/ ?! A# J( _ RGB[2]=parseInt(tempArray[2]);
* g7 ?' n0 ^; c! a4 c , z* ?, {8 l3 j' F6 c! Z# f$ o
return RGB;
" ]9 y% `( x8 L$ r7 B% O2 a}5 B N8 x2 q; K3 _" l0 j$ {4 `: N
function keys(evt)
4 E! l# S Z1 G. T0 x {
- _0 x+ b) r, ?) L2 \& W0 h% P if(evt.ctrlKey && evt.keyCode=="81")
' E+ |! k& J5 V( |. p { ; c3 K8 R& y7 b7 M! W, b
CleanHideObj.on(0,1);8 g" q) \$ t- d( Y8 B% U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 |6 T1 w% X' R) h
1 X& ^ w! [+ T- j z- U+ ] } ( \1 b" E: I/ s& E* a
}
, V# u8 [3 F, } _* R! p5 D2 cdocument.addEventListener('keydown', keys, false); 8 ~" w" }8 ~. u% H4 z) C4 J8 [
GM_registerMenuCommand ('Clean Hide',! ~+ N) a$ ?+ T$ S* `+ U) f
function(e){; s$ g1 [9 v& ~8 i+ {; t4 A- j
CleanHideObj.on(0,1)
9 Y! r2 O( l$ ~; }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 O) B6 i# A6 G N% S* d" D% K});
. j$ ~3 q) b) w |
评分
-
查看全部评分
|