|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ A2 Z/ s# l3 u1 [
; B% U8 Z* a8 ~, I7 _& ]
火狐插件,用猴子) k+ Q" o$ f' ~
; h: s. g& {0 Y8 |
var debug=false; % Z0 h4 j" F( h" Q8 s$ }
var CleanHideObj=new CleanHideClass();
( J. _* p) g/ w3 ~8 U& S# A# a
9 ^& b0 h; e' z3 p% |: X" d" Yfunction CleanHideClass()
$ J/ }3 |2 R/ B2 Y$ w1 o7 S1 K{ . ^/ j2 h) q5 i& A6 U9 @, v5 r
. Q! f3 J% j! o# p
this.on=function(id,bMZ)
3 i" i `5 }2 ]9 P ? {* V3 r& p6 q) k: L
* l( _6 B& S' V if(id == 0)( O! j5 E, a: x {
{
2 _6 ]" E% u6 k# ~ var page=/* document.getElementById("content").contentDocument */document; ; ~$ h3 C1 J5 G3 I
this.RemoveHide(page,"span");
( c- b! L5 f z& F) t, T this.RemoveHide(page,"font");1 v$ _/ J1 k: r* y5 w
this.RemoveHide(page,"div");
# ~; f6 I1 h3 ~ this.RemoveHide(page,"p");
' E) |8 Y4 O# {
* Y5 i6 C; D4 e* U }8 U K6 k. h, a
) D3 {% H/ k+ ]7 r }0 e* s7 J+ w8 d
this.getobjstyle=function(node,prop)& T+ w1 r2 |/ e. c* S# g- ~; K. W; p/ L
{: Q* _5 b# C# \) b" k1 Q
try
. H7 i _) O- P) _+ O {
% D8 R$ U# s; l" K7 k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 N& y# N1 P! |5 E# c7 h; @8 R: f1 a5 _ }
, i- D. ~5 j$ W8 s- g1 W% ^ catch(e), a7 E$ ^' W+ E
{
# p6 Q9 Y3 R4 u' s7 e5 f if(debug)' m& y# Y- b1 ]" h; d4 ~% W" e
{* j( z6 }- @# ~$ W
alert(e.message);# `0 u0 u+ B- ?$ q2 Q
}: e5 ~, {+ a+ I+ I
. ]$ r# N" K$ j% r/ b return "200";
2 F' z4 ^% `; v$ \ }
/ {4 f$ y0 K, M }3 Y: ]+ _ f* Y1 e" b4 z# \
x+ e" D/ G4 ?
this.RemoveHide=function(page,objname)" _: i( W; h6 w( i+ \+ h; ?+ s! T0 z
{( A# b# y! I5 Q0 W* t1 t
try
3 t V# N/ q7 ]5 s# s {; `/ R& _0 k$ Y5 `. A8 y
var minValue=15;
0 X8 I1 A& W; K8 v. a" W var objs=page.getElementsByTagName(objname);
# g0 f7 a( F% b9 \! P7 X' i' A
8 b6 v) T3 q: ]% x( n if(objs.length == 0) " Y! I2 h3 H7 N- B
{! o6 t/ J0 v& b# P% P7 X: @7 ]
if(debug)
- f0 }* j( J1 ~5 V7 s {
, z* G7 h$ Q4 ]" ]% c( [ alert("no object found!:"+objname);
- e# i+ O: x* _ O. R7 H }
- K4 i8 [* I: x3 x/ I( q }( i" _, H9 g& ?; j9 U
else
) ?" F% R/ V! z/ T/ _- f {
+ P+ w, g0 n+ B" ~
) q9 w5 J* s4 E" Y! b1 r for(var i=objs.length-1;i>=0;i--) 9 T* i# \$ q9 _: M
{ C% h+ D$ v+ n( o
var node=objs.item(i);
0 U4 W) E8 P3 N0 p" v$ o
. z. A' Q+ h" E' @8 x3 O3 ^
4 S. `3 `& c, T) T5 z' a5 P if(this.getobjstyle(node,"display") == "none" ||/ w0 b& p P2 O! L- N) t
this.getobjstyle(node,"visibility") =="hidden" ||+ O! U5 Y4 \8 I
parseInt(this.getobjstyle(node,"font-size")) == 0)
# w+ g1 }1 F( `5 G {
7 h" ~" z0 [& M0 D3 U9 a$ i! }1 O' A if(debug)- a5 A7 q1 @2 a' z k, h0 K- B
{" U1 s6 J* V: e. ]' F: t& k- h
alert("remove invisiable!");) X4 O0 L+ _. _6 K3 [
}
" L0 e& B8 U+ P+ [( s/ S( O node.parentNode.removeChild(node);7 V2 a, V2 m& ^" s/ W: H8 K- y
, x. N% j, U* M
} q% i+ X9 g! z4 P. d% V
else 5 ~+ _9 u$ ?% E$ P. U
{7 m- I# F: S, \2 Y" t v$ G
if(node.parentNode) 5 Q+ a8 Z# N* {" O
{/ }0 D) F" A% }* @8 |" h4 F- x: f
var orgNode=node;
8 V4 w% i! Q' I6 H var orgColor=this.getobjstyle(orgNode,"color")
# {8 l6 E8 K, d* Y" t% E var orgRGB=getRGB(orgColor);
# i4 [7 M3 @) D5 ~+ |
, b: N8 H% H# A- l var parentNode=node.parentNode
0 s" @( m6 e5 s! d9 A var parentBgColor=this.getobjstyle(parentNode,"background-color");7 Z) C6 `0 B7 M& Q, F$ H! u
+ Q% E7 P/ w5 Q N5 Z; i6 Y. J var isLast=false;' L( _: ~7 I9 z! _
/ ]/ V4 j8 ^+ T5 M while(parentBgColor == "transparent")
" a7 P( A5 ~1 _7 w$ C) r5 T* _8 H {
7 A B |2 W' W G* h/ l2 p5 X# c* V+ c
% g$ \" `, t& s- E! @5 Q H3 B if(parentNode.parentNode == null)# Q# O* Z4 h U& e0 m
{
5 a5 Z9 `% }( T0 D$ _$ V) Q- \" s isLast=true;
3 C( X P0 h8 `3 e3 s break;
t9 P6 V% S8 B/ z9 N% k }" n! g* j% `9 B1 g- O
parentNode=parentNode.parentNode;/ A' A; c. Y, d8 d0 C. E
parentBgColor=this.getobjstyle(parentNode,"background-color");6 T+ t9 f D# z Z
. X/ M, L& A9 m) |4 P' ^8 q if(parentBgColor != "transparent")
7 C- d8 D0 Y w P2 z Q$ W {5 ^" q2 l1 w( Q" B
break;# [% q3 X6 D: C( F$ e$ P1 K+ K
}2 q4 O w( E" p/ G8 ?9 o" z0 {% c
}
8 \/ d* |# t- l if(isLast)
2 D2 Q9 x' K# H$ C: U7 v {. h) C1 |7 s. f
if(debug)
1 O9 Z9 h& N+ F {
# O. ?. ?* [' I alert("last!!");4 e/ I7 c2 R# @3 i8 q5 }- @7 u- v' ]
}
: }" ] u+ b2 y I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' B# m2 _ L& f. |6 p+ Z {7 K8 R( Z1 b" p; _4 a
orgNode.parentNode.removeChild(orgNode); , ]! A. [; w! w. W! u4 ?, G
} b% u4 Y. O$ |5 m
}7 K( I) A1 l6 m D( f% ]0 E1 ^
else/ b3 B7 X3 o$ E9 U$ N
{- Z9 G' T8 u- `. l
if(debug)
/ C. D% F$ ?( n# F/ b {3 E, b* u: u( [5 r+ q5 T
alert("compare color and parent bgcolor!");. W- @+ M( P* ~) {" c! [
}
3 S% @" P1 B0 u parentBgRGB=getRGB(parentBgColor);
U% Z3 O6 U: j! d" @* a } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ K+ Q" s5 K9 n# @2 Y' U* B2 V3 a x
{
- Q. X+ p0 i- T K2 E$ b orgNode.parentNode.removeChild(orgNode); ! n( U- @6 L8 m1 l W
}& K$ x3 G2 X6 N3 L
}
3 S, j# u! ]5 s }7 @8 A) V% Q5 e( F& S& |* r' m2 G* k
}
5 r) Z6 V$ B. B9 i! t; N O; x }3 e. r$ y. F+ N/ i; Y
}3 X4 h; H* i# T; w' V4 v7 {. |
* t( [5 K0 u7 Y" N" P ; q! \9 Z1 D2 h/ A
var itemFrames = page.getElementsByTagName("frame");
( W5 I0 g" B; x var itemiFrames = page.getElementsByTagName("iframe");9 _ C0 f+ {" ^- V- k( R0 f
' a" R) K1 M( K+ ^. w
var frame, iframe;
2 [& c9 `& z1 m if (itemFrames.length > 0) t8 Y2 [* j. J9 `' g" J% Q
{7 A+ O5 l5 } a( J" u
for (var i = 0 ; i< itemFrames.length ; i++) * G d5 |2 D5 s' w" ^
{# ^3 P& a" a3 z' B9 o; D6 f! L
frame = itemFrames.contentDocument;
+ K0 \1 [" V- S0 n9 P this.RemoveHide(frame,objname);
( `3 c) R/ w, o9 H( w }* V! G4 D9 s; Z4 r+ u4 f
}/ f, t2 K4 o6 A2 {
if (itemiFrames.length > 0)
; S% B: |$ v5 g7 T; k$ B, R% n' _8 h {8 e( A% r A- G% D ]% ~8 @& p) m
for (var i = 0 ; i < itemiFrames.length ; i++) ; K& r0 N+ p7 \* v$ V' x
{$ ~& X! m7 w1 Y: f, V5 _, o1 \% O i
iframe = itemiFrames.contentDocument;
. E4 N% h7 Y K1 a2 Y6 B6 H this.RemoveHide(iframe,objname); / o0 k/ ?) o; i& B5 }
}
, ~3 E; `/ i# o# b }1 E# n) ?7 Z: v% [5 q9 |. }6 ]
}2 N T" Y. |; m. ~0 K% h
catch(e): i. x' ~4 Q* T( N6 J
{" @3 l. Q; S \$ p* I9 s1 i
if(debug)
) \: j b% \% B% |- H, Z7 n! \ {
7 ]- i1 _0 t# s alert(e.message);
$ C) k( _' ^: v }3 W4 M/ o6 q$ x! f2 Q9 X& `
}5 {. z8 m* M( r
}$ A% y. y" Z- D; I0 k
5 e1 n. v: C8 }6 k( ^7 L; D T}: k+ D0 x- m0 M& t
& f1 c, Z9 d& W$ D4 bfunction getRGB(colorString)
+ W6 k) p" f& E2 |; C& S" w- z{
% |. T3 z. A N' T" z var RGB = new Array;% o- B( S, H; }% w2 r. t; \
var tempSting=colorString.substring(4,colorString.length-1);% }2 P* r6 n6 B9 _) K, _
var tempArray=tempSting.split(",");
; R; n' h) C9 | H$ T0 C( B
* G" B. u2 t( U4 i G3 P RGB[0]=parseInt(tempArray[0]);9 }$ Y9 W5 N) U4 \' p, v6 M5 G
RGB[1]=parseInt(tempArray[1]);; Z/ A B. G- a& X
RGB[2]=parseInt(tempArray[2]);7 x7 G5 p1 a4 c4 E" I' k, R I. q
' E' l- n# Z& y6 w7 T! V
return RGB;
$ q V0 P" J6 U T}/ |- I1 j9 y% a& o+ w3 c- |
function keys(evt) ) B7 J0 M$ k% \6 v4 \# C
{
8 ~$ b; s* `& J ~ if(evt.ctrlKey && evt.keyCode=="81")
! q+ M) Y7 Y/ I# a! i; c { 6 Q3 b# Q. ]5 m5 i W' K" t
CleanHideObj.on(0,1);3 a$ b- R+ T: O, |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 T0 w7 g4 c0 o
& Q1 i% h' T; B6 x7 V) { } 0 i7 ]/ ?# Z* }* j! T
} + l! K( Q4 m' S. X) \/ C* Y
document.addEventListener('keydown', keys, false); . y, L, l* d( H# p! B
GM_registerMenuCommand ('Clean Hide',
! h6 g+ B; D6 h( ^* l* |" g Q; L. m4 sfunction(e){
& P/ I) h2 @; B) z8 J; H/ t5 W6 v# E7 gCleanHideObj.on(0,1)
1 `6 k+ Z- P% b! r7 nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ H- q- C% ]& U. R});
' G' a* |9 b& G7 H. A8 J- ] |
评分
-
查看全部评分
|