|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ U* ]1 J% F/ K+ p, [/ u9 k
* l. y, y# ^8 m5 D2 j) |火狐插件,用猴子
" T/ v1 o. M1 z1 I/ r- D
* `& l j$ z b0 r, w Jvar debug=false; , v4 Q/ ]/ Y4 N. B$ N
var CleanHideObj=new CleanHideClass();
1 C& Y; S1 U k3 N1 @: b
_1 R7 f, e/ H4 k6 M. yfunction CleanHideClass() 9 v4 `8 i1 H' O$ m
{
7 p& O. u+ {0 E8 ]7 l- M
- s/ e1 |' `' x2 u: j this.on=function(id,bMZ)
# M" x. ]6 n5 z2 l/ u% O {
9 c1 n" V2 @3 `4 o$ r0 w ( ~* j, \* k4 V# q; O% a6 i3 r
if(id == 0)
2 Q% ~: F# v/ r0 p/ I5 U. q {
8 S' L9 ~; c3 b% i: s var page=/* document.getElementById("content").contentDocument */document; / a" ?6 R& G0 f) h' G" z* l
this.RemoveHide(page,"span");1 K% w. D4 i( B4 b- R5 y
this.RemoveHide(page,"font");; }0 W+ L6 k! v7 n( b
this.RemoveHide(page,"div");6 l. m9 L" |( R5 M; l/ H- I
this.RemoveHide(page,"p"); e, N+ C* y# U' D
; R6 g$ f* [4 n0 K }
9 a. D( w9 Z6 Q: l" C) t4 C * @8 G3 Q% C, z9 k0 s
}
/ S0 B! F6 n l! |3 B0 l this.getobjstyle=function(node,prop)
- ~5 f( Q) b0 i* e0 B3 | Y' G {" Z! ~, m/ u/ M) Y$ b o4 N
try R- `/ t+ j9 \: n0 W5 ?1 {
{: {! h5 e& O; K# H d l! j. o K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 W# s) A7 L* `
}8 U& V! k1 P4 H$ g$ V8 B% j
catch(e)5 r' x3 x5 S: K% k
{* [. b5 U& u4 [1 S
if(debug)& k( I/ l+ P }- W6 Y. I" Y/ k+ V; }9 o
{
0 m; v/ p- N; M0 f0 u alert(e.message);
$ G! F7 N4 j3 p8 y }
8 M; i4 P- J- a) G 8 ~# z( u/ N% O) T
return "200";( H2 r3 ~' v4 ^! a* ^) g# ]) m
} i$ A- c2 E7 a3 u: Y/ p" {, m3 e
}
; |* E+ u8 t1 m$ V$ L! F
; ~/ e: x7 P& J" Y- Q( L7 E this.RemoveHide=function(page,objname)4 a- G& `1 s# R. e! A2 U
{
+ k2 m" i, g$ Q& [# }6 y try7 W" _1 S0 s& i; p# ]; S/ w9 }
{" _: e3 d# j" b* K6 e4 m) }
var minValue=15;
; `# I+ c2 ?/ t& A var objs=page.getElementsByTagName(objname); - P7 V$ u; O$ Y" z
8 \( h, {- W) ]8 M7 a3 V0 m
if(objs.length == 0)
* m4 E* ^+ g5 T! c- u/ H {$ s% m0 Y: l% Q/ ~3 q9 G7 P
if(debug)+ M. d; S5 t9 e. z
{6 {4 j( j' R: a. k' S2 K
alert("no object found!:"+objname);
+ b3 a+ Y" b* ~9 C0 l3 K! R- p } Q1 i, m& Q' L7 N' s# A
}7 K9 F) t" Z1 f7 u1 {% V
else. Q4 c n8 L1 B# | r8 z
{
5 e9 ^: u% ]" I/ \/ c
! y2 s' F' m3 G% s2 ~2 Z4 Y! r2 E for(var i=objs.length-1;i>=0;i--) 4 e' Y3 k. U! Q4 T# R3 W
{
# U' I0 v4 o/ s7 A' _2 \ var node=objs.item(i); % y( K3 ~6 z5 H
' U0 H/ X. D- G7 t1 n
) w1 k8 n1 M% h8 e! L
if(this.getobjstyle(node,"display") == "none" ||
\0 N9 V) l* {- n this.getobjstyle(node,"visibility") =="hidden" ||
O" i* ]) b3 Q$ k+ C parseInt(this.getobjstyle(node,"font-size")) == 0)
% z! Z( I3 ^ S {
8 h" G/ u& B. e+ Y! w if(debug)& q* I4 V" D( Z1 K( C
{
. \6 B \0 v; E: y; i alert("remove invisiable!");
+ C8 l2 q/ ^2 r }
! _' {! c& C) G node.parentNode.removeChild(node);2 B6 Q- K$ P) g' U& k
. t$ l- A6 z* M8 o3 l0 A }# K9 O/ `8 Q5 l- y0 B4 `1 k
else + G8 N" Z; S' v- Y( j
{
1 Z2 I% F6 `' \8 v5 c) N8 Q if(node.parentNode)
5 n! _- }; F2 I9 y$ L5 a {
( W, n) _) r& v' c8 z/ i" e* Y var orgNode=node;
8 `3 w; K+ ?1 Y) Q" j var orgColor=this.getobjstyle(orgNode,"color"), X7 L3 J* n8 A8 A* s6 t' m- U
var orgRGB=getRGB(orgColor); # V. H5 p0 ]! \9 d4 g! @
$ l7 s" [. s3 F; w) p K7 ?
var parentNode=node.parentNode! G3 D* B5 ?- E- U
var parentBgColor=this.getobjstyle(parentNode,"background-color");) B* h6 M" s$ H8 |- a
/ b* j8 S r) x o: @( i% c var isLast=false;
4 z) [6 p1 _6 W; o+ j. m
w! Y, ^. l; l! H while(parentBgColor == "transparent")
5 J/ b1 R3 ~4 _ {
2 u0 @* }7 D7 t/ T ! E9 P/ [" u. \. C% L
6 @$ x* D5 }: Q$ [" }3 N5 W' [
if(parentNode.parentNode == null)
5 b0 P7 W8 o" i {% U. w& t- {" W7 x4 S- m
isLast=true;
" i) f C; \# a- d5 p. B3 ?9 c3 U' m break;8 ~5 _9 E' a/ B# |
}
# Y! r( B# K" _8 h! e4 z parentNode=parentNode.parentNode;' G; \! @: y2 c! @
parentBgColor=this.getobjstyle(parentNode,"background-color");
' V; @0 h+ ^% j/ y, \
0 q: ~: w9 c% ?& p5 M3 W if(parentBgColor != "transparent")
! v' l5 \; [9 A( o) Y) H/ a6 } {
+ E6 ]7 p$ x! c2 w' ^* U# W; e, u break;9 ~/ X/ O! w3 q# w4 I
}6 L0 L2 }4 w6 B- }& L9 ~
}
- s D! B2 f. J% I1 n/ {$ h if(isLast) # J, [& `: @) W
{
0 k; E& C1 \' v& z+ k6 n# G+ w if(debug)
4 |% S1 w* H% K O1 G! ~) J [ {
! b! m5 P1 m; V' j) C* G1 i& i alert("last!!");5 u7 R% ~# h+ q) x3 c7 Z4 o$ p |
}* f$ P0 [1 R0 n" n* L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): T8 h2 h9 Y a
{9 @- Y- \6 p( W2 P. S7 u
orgNode.parentNode.removeChild(orgNode); - w7 p' n+ F9 s) S
}
4 k+ c6 y+ \; m% z3 {3 y2 t }
a. ?- U+ C% A3 f$ w3 o9 w+ ^' c. b else, {, t v6 I6 j9 w* Y* ]1 i) R
{+ k; c* E, N% @1 b* E
if(debug)7 U+ r/ _0 j) \7 G+ r$ r& u
{ v' O! C" N a3 p. v
alert("compare color and parent bgcolor!");
, j1 k! o, J2 j }# w/ T Z# l& R( z
parentBgRGB=getRGB(parentBgColor);
/ e/ E9 @ g8 j7 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, V3 Q# J% Q9 i1 e, C. q {
# q7 {( k0 }: m/ c: ` orgNode.parentNode.removeChild(orgNode); + l4 L2 x# Z$ r$ ~. Y. @( e
}
+ @# y& n3 m3 \- a7 W: c, m }( x( J& [; M4 e
} U$ r6 ]% e+ p
}: O6 C6 S' z& F% O) h$ j' l" l
}% L; x; ]- \9 J
}
7 H; @7 n6 a% W8 R' e! w( F6 O1 Z + _4 w9 P1 D+ e T7 {& p% ^
, A! ?" w5 L! y8 Z
var itemFrames = page.getElementsByTagName("frame");! ^6 k! C1 j( P3 w
var itemiFrames = page.getElementsByTagName("iframe");4 G3 r+ ^ s8 d2 O
0 F" W/ V* m1 e9 K var frame, iframe;
. U: q, i/ D4 O7 F+ X0 S if (itemFrames.length > 0)
& q1 A- i6 A* {; l( E {
3 b( |1 _( k( B4 ]- w7 w( B" p for (var i = 0 ; i< itemFrames.length ; i++) " Z$ d' l! k% S4 w) {8 M
{
( y* l2 F- b+ p: d frame = itemFrames.contentDocument;+ l6 E1 p- N+ l# ]. s' W L& {
this.RemoveHide(frame,objname); 3 t& V F6 j6 e: Z! A8 i
}
6 [( _0 Z' ~+ D4 j: b8 y }* i! k w) T, u% s: }0 k5 G
if (itemiFrames.length > 0)7 T5 }: d( h7 O' Y; R) b
{, j$ w, C: n. C# ?5 R1 V
for (var i = 0 ; i < itemiFrames.length ; i++)
$ c4 o& Y# i: e) n {0 M; v& U( F O, V3 D, [0 b
iframe = itemiFrames.contentDocument;, \; p8 A, ^" P
this.RemoveHide(iframe,objname); 6 p* T6 d+ S2 q$ \* L
}
" p! V V* `3 H, r1 I! e6 H }9 N2 y1 L1 A+ u- C: S
}
! M1 Y$ U. w) ]3 ~2 P catch(e)
5 V# f, G2 z3 S+ z( j' w. M {# c3 o- k/ n- ?# E+ f
if(debug)
! _; u* [( k+ t4 V {
( M/ K* g! D/ D& F. q M" J( \ alert(e.message);
: x6 T2 b3 {' h* { K }
( c1 q# Z! s$ L% v" N) X }% a( l9 L9 O& |+ \
}, J! q/ y; [, U
7 }; E* ~1 Y3 ]3 x
}' I, g5 }* c0 Z' B' U1 p3 w1 E
( G% E, @% ]5 W! v. H9 _function getRGB(colorString)1 S/ T* t6 d9 A8 X6 K
{# G0 ^( A! e2 A% G
var RGB = new Array;
. i4 p: {( e! \ var tempSting=colorString.substring(4,colorString.length-1);
6 s6 H, i- e6 t3 o( ~9 G6 M var tempArray=tempSting.split(",");. R R9 g2 |, |# P
* W& m+ M4 Y. X$ D RGB[0]=parseInt(tempArray[0]);
( H' @: u9 r. x* }, z1 x( B1 S1 i' X# W RGB[1]=parseInt(tempArray[1]);# l% K; S0 l! O
RGB[2]=parseInt(tempArray[2]);0 C& b% E9 X- Z: M
$ J9 i& I) W; T1 E: l0 Z return RGB;
3 q; T2 N7 B8 p# ]- ~* A% y0 w4 X}; x0 P2 j% f+ ^
function keys(evt)
2 M. O- O. U+ z4 V! b2 b+ B2 l {
& c3 H5 L% }% U- u4 ~2 E( }7 C6 | if(evt.ctrlKey && evt.keyCode=="81")
# K/ A2 j+ r& B0 x1 e {
: u O: w# j( G CleanHideObj.on(0,1);
* N; i( d0 M% M2 n+ U8 R; J" R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% ]& w, u: A% R5 B2 v2 C" h 0 T0 |9 ]1 h, C5 m I3 g# a; e
}
" r& E; p0 [7 H0 o2 t0 I) q% z }
# N" d1 k- u" C* Edocument.addEventListener('keydown', keys, false); - f4 s+ d. N0 ?1 q! `
GM_registerMenuCommand ('Clean Hide',+ j5 _9 ~6 d0 p- q+ Z2 ^. a) J1 ~
function(e){- V6 O1 o, q: X6 \
CleanHideObj.on(0,1)
5 X0 J, W' k M* w5 T. dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 T) o* o' q' o/ P5 ]! q$ X
});
8 D9 n. J0 X. P |
评分
-
查看全部评分
|