|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 M8 O7 v' H" l) z0 J' }
% Z: k) N; G( l$ x J
火狐插件,用猴子
' H3 P0 C" t0 d N" r V/ ~0 X
var debug=false;
) n! _8 ]2 k6 ivar CleanHideObj=new CleanHideClass();
. V( C/ V. D8 h5 a* W1 N& f$ A
- t8 R/ B& s; ifunction CleanHideClass()
+ C5 @( r9 a# _/ [' N{
+ x, I/ P1 \6 \& O( i9 N1 s 4 b; ]$ f0 H+ s9 c5 W7 r
this.on=function(id,bMZ)
. \1 X: @% d% x8 r {/ B! G. D3 ~( v) x) E+ J; v4 a
4 }* G) N! \/ z) z Y2 ` if(id == 0)
. M4 M. S2 Z3 N. U* I. E {
7 _9 ^% r7 @ r& f, m# l6 K var page=/* document.getElementById("content").contentDocument */document;
% B: D. t, B/ c' k T: F9 B this.RemoveHide(page,"span");: B6 I7 r# t* E+ r* k+ J% ]: ?
this.RemoveHide(page,"font");1 s3 n, \5 [- }
this.RemoveHide(page,"div");; v3 X5 S+ J5 D$ y$ j- [* k* ]
this.RemoveHide(page,"p");2 n2 V2 n. b; L; Q( k1 n& G' w
& S) n7 y' Y+ h }
/ v9 J5 o# i; T2 i4 Z
, s/ I: O: g* d1 D; F' L }9 ? W/ i5 c6 O8 F! I% v# q
this.getobjstyle=function(node,prop)
( n- L4 Z. U) Z* y0 U* ? {
5 o1 E$ r5 X9 \% L; c+ j try
) `% O1 d2 q- `3 B {. Z( p, n- {% {$ X4 s9 k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) d) r# E8 a/ ]0 b- ~7 O: R! g }) t' ^# V6 ~! L
catch(e)9 ~( k/ e l$ a+ M' _1 U" \/ z: D
{/ S9 S+ @0 n5 t/ M2 J# ]
if(debug)
3 {# P& `- K3 }3 G {( y/ T9 A$ X% z2 X& q
alert(e.message);3 b9 s4 ^; L1 B, T
}
~5 p1 f, I: t/ L6 n! m! U6 ^
! \9 U% w: R2 W5 A; ] return "200";
& H8 ~7 h5 @' Q( E4 E }
7 e. j. x0 c9 ? }
; X0 H/ M* ?3 s' @ / A- t/ L$ I* C8 D: Q! A e
this.RemoveHide=function(page,objname)9 X' h' \& s( y: D" m1 K a
{
6 ]+ h, }! {# W+ E5 k try4 m6 l/ Z$ c9 v% y' y
{
( x+ N+ c, g# w; H/ L0 T# M4 X var minValue=15;) _* p' _ Z1 r; D, ]5 K
var objs=page.getElementsByTagName(objname); 4 a9 S% }! D0 T j' z$ v
7 l) v$ F" e" l if(objs.length == 0) # D/ |; @5 x7 n$ t! P! y, S
{
2 U/ g' R5 q, E if(debug)
9 n6 F- m- N( s% m3 R/ I7 Q1 c. b& ` {2 k) X7 p0 Z3 Z- e8 S4 ^1 Y! C* l
alert("no object found!:"+objname);
# {1 R. R* E4 k' X. U- X }- s* I/ @* p9 c# D
}8 {6 Y s6 m9 q P; O6 x3 ^& i
else) \- z' [& a9 Y7 [! c
{
9 K% S' f+ P- b' W3 B2 B
, q1 L3 M3 a6 @# v e for(var i=objs.length-1;i>=0;i--)
, e+ |( W0 f9 F% Y {& C( e- S" n. p3 d/ p. E
var node=objs.item(i); $ W2 I z: f% d2 L- {6 q
1 T+ b! m: V ^7 }( ~" z
! D+ Q5 ]1 H0 _6 Z5 O
if(this.getobjstyle(node,"display") == "none" ||, ~( X" @9 _) v( Y, w
this.getobjstyle(node,"visibility") =="hidden" ||
* Y1 Y( _# \( O" F, }; T parseInt(this.getobjstyle(node,"font-size")) == 0) ; f- e* ~, p, x* x4 a
{
4 |; L3 ]7 _7 C. v# H$ \7 { if(debug): J2 O' V. G" v5 j/ L7 v$ U
{
8 b q$ Y: L2 x alert("remove invisiable!");/ |* F' ~! c3 e4 d" p$ t) g7 S L7 {
}
' |1 A& g3 a9 } node.parentNode.removeChild(node);% S. \4 {' p7 |- Q* z/ ]
2 [2 M3 C6 j8 \. l% V; T% n
}
& K% {3 ]0 ?7 e3 i else
3 ~% l/ t5 O" s8 F2 g {
6 W h+ Z$ J- G& ]8 F if(node.parentNode)
% K9 S% H9 A* W- m) f* E {
9 x$ Y2 }& o$ M% {* k! v var orgNode=node;* H: [* W. n& I
var orgColor=this.getobjstyle(orgNode,"color")
& q$ Z1 o' N) [" @" _ var orgRGB=getRGB(orgColor);
! g/ C$ R8 s1 m5 A3 w6 q' D $ K# q( P3 k$ b L$ m/ D+ c/ \ O
var parentNode=node.parentNode& E/ B( P5 p3 d
var parentBgColor=this.getobjstyle(parentNode,"background-color");
C0 C3 U S7 c% \ ' s4 G& K% L; L2 d L
var isLast=false;8 f9 T5 A1 B' z6 d; a+ A/ r
, X% d) w4 f# [* {5 W while(parentBgColor == "transparent") ' X' O. P! _9 r
{* V+ s6 [) S) M4 x* Q6 A, F- n
8 E" f1 h# G/ T9 G. Y
! `* Z( A0 Z. h" C! c6 T0 b if(parentNode.parentNode == null)
( D8 U4 ?! P' t; h( }* p- a+ l {
- g# a8 D: l6 {+ @+ { isLast=true;
3 |7 ]6 e( X( a: I5 C break;- W4 Y4 F4 v; c5 h- o0 C
}
! A4 [1 d! ]+ z. _ parentNode=parentNode.parentNode;
E5 M' c6 c- t4 B/ G" D parentBgColor=this.getobjstyle(parentNode,"background-color");
+ K! X. T$ X% D: `+ O' G
" s1 }3 [2 u/ h3 E4 X- s if(parentBgColor != "transparent")
- }* s" I D) f1 ?6 }5 b. W6 u5 C {' M7 c3 A1 \% L4 h4 L
break;, S7 @, I# |; @) ]* |
}$ m2 I7 M% Z' O1 T( s% F* K
}
3 e, j4 i; I0 Q& p% }, h if(isLast)
" U8 T! a* ?0 S, O6 |& g5 ? {% ~. u5 z- w1 B4 |1 `! ]( C
if(debug)9 d& B. ~# u$ A/ {8 X
{
- ?& J8 b! z+ I- l. _ alert("last!!");
; ^; B( s6 k+ p+ O5 { P' z; Y }: `& I5 Y) }8 k, O9 n' Y M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 e h% }+ m6 B; `) f& C {
* \ I$ J" T6 u, L+ l* P; m) { orgNode.parentNode.removeChild(orgNode);
6 j/ e, R) \4 n) l+ Y8 f% ^- b }
- z" ]; S/ N @- c: ], y }
, H& a/ {" h1 ~0 U5 j else0 m8 Q$ d1 k* g4 g1 K" E [
{
; F+ z7 k/ X8 \- O, w if(debug)
$ z% g8 {) L8 O' i {: {# f% Y8 j& U9 P' [$ i
alert("compare color and parent bgcolor!");
0 x/ P9 i6 B$ _4 h4 @ }
- h; B6 b5 z- f parentBgRGB=getRGB(parentBgColor);
- b6 h _) o6 z; Z8 v4 M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 p& F7 |+ q. q- u8 H5 w) X
{4 b' \5 K5 X7 n" Q
orgNode.parentNode.removeChild(orgNode); 7 z! x: `0 S* H3 c' Q, Y3 X
}
7 n( h- f$ c& m. t3 j }# w7 a& d/ N" l
}
+ N" H; Y+ z6 z. A' [% j }' O, l0 _$ f0 k; G) i( [4 y6 P
}
! s% c3 a& ~( m; D- F4 H. z" n }6 K* i, e6 M# ]. r/ G2 l5 e
; L1 _& z2 i7 ^# s: C $ U" Q+ R; o3 ~$ N
var itemFrames = page.getElementsByTagName("frame");
$ A6 F" h7 t% p" | var itemiFrames = page.getElementsByTagName("iframe");: z- r+ s, E' M: h
! z1 i! q( S! n) g* Z4 ?$ {/ m var frame, iframe;0 M5 D+ l, A: o6 C
if (itemFrames.length > 0)! K" ^- G( g+ z: b- A* C0 U/ a
{
8 o6 i) A5 Q" Q5 ^ for (var i = 0 ; i< itemFrames.length ; i++) $ f i, N0 [1 d/ H. T
{
) p/ |& c2 V5 y3 Q( b+ q, R frame = itemFrames.contentDocument; L1 U n8 z n& a
this.RemoveHide(frame,objname); . a& x" U" j9 k2 {+ D/ w$ }+ t
}
9 I0 ^& i/ W# N$ O, B }" j; ~3 _5 C+ u+ B* C& }: e( `0 E% ^
if (itemiFrames.length > 0)/ \2 ^2 \, _6 ~( F! U D5 E
{
; r6 R3 L& J7 u& _ {8 i0 g. n for (var i = 0 ; i < itemiFrames.length ; i++) 3 g. ?4 C- M5 L/ ^6 A
{
- l9 A ]; q, J1 l+ u iframe = itemiFrames.contentDocument;
( f7 z/ } d& o8 f) p' u" N- g this.RemoveHide(iframe,objname); , O. `* D+ y. B" k9 i7 F
}
6 y+ x/ B5 x8 c" U/ Q/ C* e0 U }
/ |2 v3 ^7 d+ F$ k' } }0 O' E0 [1 }9 {2 f
catch(e)
$ S7 @3 q. S$ F2 B0 u: e! j {: w5 y J- c: J$ a
if(debug)7 K4 _& H$ W8 Y$ }1 e' ~. U6 B O
{
) R9 R) C; x# F( P' B t& l alert(e.message);5 X! A; j8 L/ N. r6 s/ P$ A1 B3 @0 q
}, k) a; Y! J7 j
}
. D# y& n1 f8 Q }6 ]% `" h8 h9 D* O: k6 c4 c$ b
4 u" I' Y& u" ~}: p x7 C/ G0 R: Z( I* M# m
$ x) z4 F. t7 g" ?9 Ufunction getRGB(colorString)2 X1 |8 p" k1 f7 c# m0 l* q
{
3 ]2 H, v% w- T1 g var RGB = new Array;6 m h [ U4 L6 X! n* V
var tempSting=colorString.substring(4,colorString.length-1);) c6 [' M% }0 Z+ {4 w4 z: d- r
var tempArray=tempSting.split(",");0 I% o `1 O8 m
& S! T) K& v- h% x O: M2 v& g
RGB[0]=parseInt(tempArray[0]);
1 G* F: l" a! N RGB[1]=parseInt(tempArray[1]);; } p2 U: j5 o$ i% h+ l
RGB[2]=parseInt(tempArray[2]);
- G) G7 n! G4 i4 m0 p- a5 P/ R3 ^ . A* e p! a9 q! T$ r- }: O# }2 ~: Z
return RGB;
$ [& l6 \+ V/ {' M! ^}
) g" [# K8 g" r9 z' Tfunction keys(evt) 2 Z! M7 V8 z4 ?
{
u2 H0 F9 z6 @0 [# S& y if(evt.ctrlKey && evt.keyCode=="81")
( i, b5 g, ]# q1 S) B! X { / Q. W, L2 ^4 B
CleanHideObj.on(0,1);0 u( K0 L" E2 D* }" G5 w: ~9 ^7 b; j4 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); p/ b0 }3 X7 E& n" }& u* B" A* L
( e, D3 U: k% r6 c8 o }
! K# V3 B9 C8 s, Y) @7 b3 T2 F }
4 r5 e" t' q- F5 v, Ndocument.addEventListener('keydown', keys, false); 6 R1 m9 |: D F
GM_registerMenuCommand ('Clean Hide',) R/ C" V7 r7 h: _0 ?
function(e){+ t; ]0 C9 x2 U& T- H5 T
CleanHideObj.on(0,1)- d, D% L! W5 D' B D7 e* O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 M' `7 a" u" z& H5 ]) c7 D
});
- E4 G2 Y- {5 b; g1 F: r |
评分
-
查看全部评分
|