|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 l3 r. s2 c& b4 H4 ^ t
6 y: A2 |* e% B0 A# M& R
火狐插件,用猴子
8 B9 I0 G" j! s* J4 G b! P. {" ~7 j3 b" o" |& ]! x
var debug=false;
$ @& V# I6 C& E! Svar CleanHideObj=new CleanHideClass();
, ^' o: t2 Y: I) _% g, @9 k
; q$ k) ^. o, i% @& `function CleanHideClass() 1 G b; ]; y" X/ U' `& i
{ . Z9 e$ h' t- Z3 ~) ^2 J
! T( C& z4 [# J. z$ J4 H% ]$ L this.on=function(id,bMZ)
7 c r& y) p2 {$ \- W4 C. r {. H2 P9 {. ]$ R \, Z2 j2 v
: g: m" E- e2 C. h a* V$ v
if(id == 0)
% [0 J, P, t2 l/ p: y2 a( K3 z2 n {7 d: ^' K0 t7 i; h( X1 d
var page=/* document.getElementById("content").contentDocument */document;
1 _0 @ V2 q" p9 X- ~) } this.RemoveHide(page,"span");) B* G" c3 p* D" n3 o) v/ M* c+ J
this.RemoveHide(page,"font");6 @ I: C( X1 @8 e k# a
this.RemoveHide(page,"div");
1 \8 H# [# [# _$ f }6 y this.RemoveHide(page,"p");
& ], Q* C# p! b9 w: `2 I
- \" b& G" z; v- O. Z }
6 H c) {! r; D " t/ Q' P8 Y! [7 e7 h# M& S+ [" n" N
}
4 p2 Z7 b: ^2 E7 N" K) @ this.getobjstyle=function(node,prop)
- V- K8 J; t1 K7 Q8 ]& t/ m {
( {0 @1 P' k+ r. C: j try
$ P. N' x8 ?$ n* g) K" l. E& n# c {: G1 k7 [* r& m# R) w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" `- d" N' b2 C+ D }& v1 {; l: s; u$ l+ f- j
catch(e)" i# @$ E- S/ |# j' l7 y/ z% J
{1 W& [' }2 j- H+ k2 t
if(debug)
& w8 F* i. s/ j8 _7 ~ {
4 [8 g' @; s. c) \- [9 x' I( P8 D& t alert(e.message);
+ ]( [* R- Y, e* ?8 }5 P }
: l, I8 v! x: k6 \6 @+ n
j# W' H6 F' h( }6 X5 ? return "200";' E0 e; h( p& g) c/ g* [6 I( D5 ~ t# Y2 w
}
% T& a! X6 y7 k: ^: D: ?9 j }
& n' y' M2 j$ E [3 c7 r& U : d/ e; X5 i! o' |# x# b
this.RemoveHide=function(page,objname)( R [; X7 T+ h, U% D
{4 [% `8 X3 Y5 ?' R
try
]/ H+ J4 y. S- A4 g, I/ p! N! F {
, Y1 V8 V, i: Y- D" a6 w2 n% l var minValue=15;
+ F( u" l" |: B2 ~' A& P' u var objs=page.getElementsByTagName(objname); + M2 Y0 z# ?0 e
' a* A% p' {9 y, M' o- `9 q$ m
if(objs.length == 0) 8 `) p7 s9 I r0 l
{
. o) v" i. y+ j' e. z) K( K if(debug)% }/ {$ r! ?& O
{( B w+ D+ W& H9 z
alert("no object found!:"+objname);# g) s% G7 }1 R, H8 ?5 \' d0 Y/ m
}4 e5 q$ h B' X* r8 b- F
}
2 Z7 s* }& M5 B6 ~5 t: G% j else0 b' x/ G: s0 }; y9 R8 f$ L6 x, f
{
9 L4 ~8 R! S* t- Y0 ^ / D5 ?; S- R" ~1 \+ i
for(var i=objs.length-1;i>=0;i--) 1 q& G* U* D+ V3 Z4 s
{
+ N" }% V1 `" _! }/ Y var node=objs.item(i); ) h) o7 P# w, D& p1 e& n
$ R/ A1 f# r1 V* S8 d! J R: j
E- v7 H/ B' [+ L% @ if(this.getobjstyle(node,"display") == "none" ||
( G2 `1 ^& v8 ]0 Q+ s% l* H: Z this.getobjstyle(node,"visibility") =="hidden" ||0 \7 f, Y9 M% Z5 w
parseInt(this.getobjstyle(node,"font-size")) == 0) , v% v6 |8 n5 {1 v* ~" [5 H# |! e
{0 X3 v" L. T' S1 W* X
if(debug)
$ I' g, v, g$ j3 ^! n2 D {
& _. K9 E- n: l- ~2 D, t) o: p* w8 d alert("remove invisiable!");
# `& |* S( {- c( h# Q' c }
6 ~6 h v7 W/ x9 b2 l node.parentNode.removeChild(node);
* C" }6 Q) N% p 1 G b7 G, F/ r; @- _" [
}
. y: Y7 g8 {% k7 p else
0 e# E/ r7 r- S: N {! }! ~6 A% x7 X# j
if(node.parentNode) 4 r- p* \. A& \0 ]. o$ i
{
( N6 Q6 T7 S2 a var orgNode=node;* a2 M, A1 _9 W. c7 _ K
var orgColor=this.getobjstyle(orgNode,"color")* I l& |6 f, p8 H- s2 m
var orgRGB=getRGB(orgColor);
& h$ j/ t3 N) o) M3 |4 M9 J; ]5 Y3 {
3 n% i9 l: i% x% ] var parentNode=node.parentNode, K" f( J2 e1 v. s# [
var parentBgColor=this.getobjstyle(parentNode,"background-color");- h5 t0 N5 u W+ c" D2 z% ~! z) z- J
+ Y* F; m- ]' w/ t. Y var isLast=false;
' M) U8 `! Z" A! K/ _ M$ @
! J% d7 ^! d3 g+ ?/ L/ J while(parentBgColor == "transparent")
& l% i. @# I3 X" e7 q, w- F {
. P6 U; G- @) t6 V! w1 ^ ' B& p9 S% l7 w6 k0 p' y) {
U' @* t/ C: J" p* R- W$ L if(parentNode.parentNode == null)
+ S6 k3 f7 J4 E0 R' x5 x {# ~4 `$ G3 B# T1 a9 F( u( U) B
isLast=true;0 z8 M0 [5 ^6 N- [1 [, D* P9 ]
break;
2 C- n* k) s8 F }
2 W5 R) v8 P3 T( R parentNode=parentNode.parentNode;0 o5 x0 h* h- G+ f K! w
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ y. h% P) E4 z3 _( }4 ]4 F% k" ~
/ @7 [7 |. t- y3 C- | if(parentBgColor != "transparent") 8 {" m( n* ^4 p8 |6 K
{
3 n- \9 y- U3 n- p* r) Y7 S break;" \* Z) Q' [1 m
}
3 q$ e# w& R- ` }+ {8 c: n! {" v n0 y
if(isLast) - X! V$ m! Z/ Q1 S% S; I' m
{
9 N/ i2 l1 J2 E/ X3 s5 Y" l if(debug)
* m3 T4 m$ J; j5 ` {
! g. u* \ g8 p0 x# c9 Q! n( \ alert("last!!");
6 y7 L# O; v0 l! b4 o$ M; _ }
4 g4 J; E3 S9 o& z9 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 ^/ v1 w+ u I' x) e
{% }8 L# ]: W& |( u6 e/ d
orgNode.parentNode.removeChild(orgNode);
& f7 h3 @: f2 u& c' q' e% Z) Q }6 e! Z- N0 c* T( n, Z
}: K+ _: `: [. L7 g5 }1 ?9 H
else
; A+ G% l- a" Y7 j& Q1 G. X {
5 P; D% |8 k" t/ P. H7 q0 s! s8 v/ T if(debug)9 A9 K$ n% p6 ~. D, T8 n
{
3 R. x$ S# q; G3 X' V alert("compare color and parent bgcolor!");" L$ I5 |& T; [) _
}& C% S; |6 X! f' j) A
parentBgRGB=getRGB(parentBgColor);9 n! Y0 J) K1 T" R1 J- s/ Y, w& p' [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( U1 A4 I) e: r& H1 b# Y |& g! Y
{
* R. Z, f5 C+ |# }; r( [ orgNode.parentNode.removeChild(orgNode); 2 E; ~- p+ f+ f' H4 A! F
}
7 f% G$ r+ i- |4 q0 _; C* P& G' K }
9 [4 Y4 n3 Y2 m4 Q, n }
@( t0 h8 |9 u, [7 j0 z }! j& B; Y! C r0 [. o! U
}' [1 ]8 u5 G: n- }/ k$ `5 b
}
( O: {: Y6 y% C
$ q8 Y6 `/ ~9 c / u( c j& d( Y6 U* |
var itemFrames = page.getElementsByTagName("frame");
- a4 }0 E' Z$ @4 w var itemiFrames = page.getElementsByTagName("iframe");5 k7 X, ^( P- e
" N5 T! _7 C+ K L6 E/ J- h) h var frame, iframe;
; Y! I+ ?- w) J$ z, |0 e ^$ Z6 p if (itemFrames.length > 0)
0 J3 _2 d: T6 b' [+ B/ j" _0 d. n {1 b$ ~7 i5 `8 ]5 {
for (var i = 0 ; i< itemFrames.length ; i++)
+ \) ~. G6 H5 ~ E |6 [) \ {
! S/ y; l5 O! a6 [ M frame = itemFrames.contentDocument;
3 `: J2 S0 W+ N5 ` h/ `( c6 p$ H this.RemoveHide(frame,objname); 8 @! m" B2 u! |
}
# A0 g3 K& v, }" R }9 C& \1 K- n7 @+ p* {3 z0 Q! v) E9 K
if (itemiFrames.length > 0)
( v8 s& j5 [) A. T$ M: ~ { r/ E7 n% e2 L1 I" b, E! a5 R
for (var i = 0 ; i < itemiFrames.length ; i++) % r8 M# X+ c* N1 O+ W" T( z
{7 b7 @" |0 ^% P& a9 W
iframe = itemiFrames.contentDocument;
6 U$ v; u; `7 u this.RemoveHide(iframe,objname);
! A8 l7 d, g2 g, k( f }. |! x% k8 Q* z$ H4 \
}5 _! S/ x# P# W# l2 M4 g
}* m* o7 _' o3 w5 d5 o
catch(e); @% K* ^. t" T( q" i
{- G& u, t) o0 I* G. u
if(debug)
! c. P5 \6 R M ]: ~2 ^7 S1 t {
% x/ t% \' f. U6 k alert(e.message);
! t$ d+ u" a, t8 J$ P- S }
1 w3 m& F3 ?2 Z }4 F3 t% ~! D- U; K
}
0 o$ ]0 T: B- Z: F" _& a 5 x! |: C% v) D2 J# W
}$ H/ V+ \/ ?/ Q) i0 H& M; c
+ y4 S! m8 O8 `& u6 S5 t, y& afunction getRGB(colorString)
: Y% t- y$ J" U0 m1 L. r. {{5 a [0 l4 r9 H) V5 W( f
var RGB = new Array;- j" H- x" h* s: q" N
var tempSting=colorString.substring(4,colorString.length-1);" X6 k ~1 F/ t) K7 U
var tempArray=tempSting.split(",");- Y' b) l+ a, e6 X' k
& \7 I( C1 i8 U& [( v" F RGB[0]=parseInt(tempArray[0]);
5 m; I7 M7 [" {( h1 O y RGB[1]=parseInt(tempArray[1]);
0 l1 }8 U+ C5 h5 W8 ?: T0 c" i1 x RGB[2]=parseInt(tempArray[2]);/ j- I' J: u( o& j/ V
* z/ a& R& U( ?+ M return RGB;8 W- @7 t3 {9 N: C7 l
}, s# K& o) w! ~- z6 I% Y
function keys(evt) ) g N$ b8 |$ T2 Z' _, U
{ + \8 b2 J* @1 _2 u- N$ t0 L
if(evt.ctrlKey && evt.keyCode=="81") * R& C* z; `3 M) M* N
{ 0 i Y& ^7 m1 j6 ^' j
CleanHideObj.on(0,1);
( q2 q& P( i7 Y: o: ]4 W9 p alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! y+ L' A, t3 l- E; t, Z
& t6 @) k9 X. Q& g$ ?& s }
% J: O! K9 W/ U: {8 D& r3 O C \ }
! x8 j: d4 O4 Z2 pdocument.addEventListener('keydown', keys, false); ! l- n& e$ E6 m
GM_registerMenuCommand ('Clean Hide',
: _, ^# F) N" C' Sfunction(e){
9 H# l: I: Z2 P- `% u2 jCleanHideObj.on(0,1)0 z$ l) s! E' G+ J# C# ]# d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# @) J9 Y" B- j; y* K});
- G% T% P0 `4 J7 u9 @; c |
评分
-
查看全部评分
|