|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 e" ]# W6 V; l) b( c- I
$ P) m8 I1 O' j; Q* M4 K
火狐插件,用猴子
/ `4 m2 j6 |/ ?% A. o6 K+ h8 p, ~ Q
var debug=false; $ A& |. j* v `: p0 H
var CleanHideObj=new CleanHideClass();
5 y K7 O: T- a2 ^" P2 x: [$ i$ L( {9 d
function CleanHideClass()
9 ^+ P3 p( c9 I) k. `- @{
: e* s2 K8 j" ?/ I
* p! J# T) E6 U+ `/ w# t this.on=function(id,bMZ)
: M* e2 |" {# A6 F. z: c4 m {
+ v- O1 c3 M! T, ^
$ j' L, L, }1 h9 h if(id == 0)
$ ?$ L' B) I/ \9 j {
2 [: E/ t1 t: X4 w8 L var page=/* document.getElementById("content").contentDocument */document;
" E4 [9 U* ?- i! ]# v& x, u this.RemoveHide(page,"span");
: d$ g1 ?! H4 _1 I/ @ this.RemoveHide(page,"font");
+ c% v' ~- e; T* K- C& b' ]" c- G this.RemoveHide(page,"div");# P- ]: g9 H+ q" j4 G! U) A; m
this.RemoveHide(page,"p");
8 V7 z h& N8 E3 m * U; P' W5 ~" V, E+ }/ c- q
}4 c$ U* B* r' K+ N9 x
; T" S8 a$ V2 C% N& j }; Z6 G5 f* N$ W$ Q
this.getobjstyle=function(node,prop)
+ M/ o3 W6 v( M; i {6 s& F: U( `, S0 X
try6 E8 ~/ y L$ u4 E T
{* l8 \7 V1 X0 p9 b7 \: |4 C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& S- e0 J+ ?+ O" O! j# F) }# O }
$ w9 O- |1 E$ D5 @ catch(e)
6 }9 ]5 |& N2 k+ [1 B {
, l3 h; j* J5 @/ M ?: C if(debug)
( f: L. @4 o5 Z0 C. b {( @9 T. [: j9 Z; p8 _
alert(e.message);
% |' h" D0 ^; I& Z/ [* v }! C! M, y2 _% D0 n% @, Y
3 F" E2 P% }/ ~: }0 s! J return "200";4 I$ m/ w5 l y$ ~2 i% H
}
. Z+ |6 w) V, ^1 Q }
8 j- V6 U7 |3 \4 f& m$ U$ f 2 a% H$ ~4 o# p4 |8 K4 k9 D7 }
this.RemoveHide=function(page,objname) L X, f( |: D: O' l' p
{
# D1 H, C4 o' T0 o' G; E try) Y% p* p1 ?% t6 ?6 X3 b5 J. L3 d
{" b( Y6 N8 t% K0 g; R4 Z/ e- d
var minValue=15;, C2 X- R+ ?$ Z& ~) Y) D1 f; W
var objs=page.getElementsByTagName(objname);
+ z, a5 z) ~; t( @9 s. `* m
& u, _" f/ ]7 w* j% J6 h) e if(objs.length == 0) $ L0 n; Q& l& b x
{
6 r9 C, ]) q. A* K6 h if(debug)5 e1 L/ Q4 w) Y: I6 M3 x6 E
{
+ r9 e. m7 Z* B alert("no object found!:"+objname);/ w D0 X0 }8 K" A3 r y2 p) p
}4 e4 I- f1 I6 Y) g
}0 ?( Y- O2 V2 W6 }$ \* T
else
( y( X6 d, T( h3 D5 k1 S; G! i {
/ A+ D, c9 m6 c3 ?9 c& k6 u 5 k" W" |% _0 }! p9 X1 N2 t
for(var i=objs.length-1;i>=0;i--)
9 v8 b' J8 t$ K& B9 H c# [ {- F1 F2 o7 c' _: y& O) I
var node=objs.item(i); . k) R" u1 z. O% j. U
4 b! h Q* _! _. s: N( z
/ L3 K* i( V7 j$ O! V4 ? if(this.getobjstyle(node,"display") == "none" ||
3 T6 W9 S5 H2 e& I3 t& U* v this.getobjstyle(node,"visibility") =="hidden" ||6 I; S8 e6 K: ~* T) H2 N7 o5 W
parseInt(this.getobjstyle(node,"font-size")) == 0) ; D7 w4 J* H4 P6 d# v
{( Z% C, [$ l& P% c# V$ V
if(debug)6 c/ x5 V8 W* ?% l: F
{
' Q+ t$ ~- C* Z2 P1 P alert("remove invisiable!");
% B C& T! S# x$ \* t7 I9 U. D: K }
; U- a( @1 I0 U" ]* {# j node.parentNode.removeChild(node);
: m9 ` i/ X$ ]5 K; a1 t; G
1 s' P0 ~4 ?( c }8 C7 n8 m" N3 a1 d
else 0 @5 u/ J+ B% C* s2 A
{
( Q7 I% M1 q) U, c4 Y& q0 x if(node.parentNode)
9 ? ?& l/ I9 d7 u x6 A {
- j9 O! `. A- Y, s* G; H var orgNode=node;# ~4 b: |$ h- [3 M' O
var orgColor=this.getobjstyle(orgNode,"color")9 o' |$ T! v1 H) ]# S; \
var orgRGB=getRGB(orgColor);
d( F4 m4 z7 {) Q0 D. b, _. Y $ S( d- ~8 ], U; X/ M% y2 f
var parentNode=node.parentNode. w& A# ?( V8 K- r8 t3 x A( `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: w9 |. x O* i0 R4 R4 p1 W 0 W1 S4 t5 H8 j
var isLast=false;- d1 f2 L8 l( W" h$ e. n5 E
2 J. H3 D& |4 C1 g* Y# F- N1 | while(parentBgColor == "transparent")
; _! ^% m2 d4 S0 _, ~ e" B: Q8 j {
* b/ J' E! w- V& S9 x) q, ~+ C 3 y) }( L0 m7 o# k# t
* R) k! L* J+ ?& g* t
if(parentNode.parentNode == null)4 t5 y5 Q/ Q: e8 ~: u
{. E: f, d" E/ B: @. L
isLast=true;
) i4 \! S- ^8 }. U' o1 m4 v break;) E6 h8 Y- p$ f* a: R
}7 x: b( ~% b4 J8 q0 K) _
parentNode=parentNode.parentNode;+ b0 K4 P( y7 K" O
parentBgColor=this.getobjstyle(parentNode,"background-color");; u: `$ o P$ K. L! F: l
( ~2 a8 m5 L+ ~( Y/ L
if(parentBgColor != "transparent")
- J8 M! ~" d; G4 O% ~) q U' y {' O5 j; p1 W0 U) {
break;/ P m$ f4 i2 Y, C
}
9 \; d8 ]3 X6 [6 {$ Q }
7 K4 e/ @% F: G; { if(isLast) 0 v% b8 a: `' m, o }5 G+ a8 ^0 p
{
( V, n( q7 d# E1 A0 N% [$ m if(debug)
( @: r; T# c4 E, u {
# ^4 u0 Y' Y) w0 W* V Y b2 o alert("last!!");* R; {+ U" C# @ s4 h- B- ^
}: M3 O$ C e8 ~6 c) s' {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); D1 i- d- T7 U
{
" t1 m) k8 _: _4 q3 B orgNode.parentNode.removeChild(orgNode); ; T" ~. E0 ^+ q5 i4 e! b
}2 E4 f2 l4 _2 M) P, C
}
6 Z2 w D) G5 W$ P$ X else4 f6 ?. A4 i* J
{
, o" E" z; s: V& c# B1 ~ if(debug) J; U* V c+ n" f& \2 y8 K
{
2 @7 n. A3 l# Q alert("compare color and parent bgcolor!");
) M4 D, b* H- ~! d2 r% R }
9 q8 F) G. j5 ?5 r# q9 a parentBgRGB=getRGB(parentBgColor);, B2 f+ z1 Z& {/ ^5 m4 X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) A6 j6 s4 z2 g8 [; u& r {& V& M$ J5 V! D% T7 ?
orgNode.parentNode.removeChild(orgNode);
( l# d+ H( H% A% C" J$ x1 ? }
, ^% t, P' T+ z4 ]( q }
8 @: H! v8 }& K5 j: b6 p: d& ` }
" L( G4 _6 [. R2 H0 Y, a }
) t7 s$ z9 _+ q }
" G q" U/ n- y* q+ g% ~ }
5 B' b' w0 ]$ x. q5 W0 x
/ l; J1 ^! g; x3 l) `- K( d/ R6 f: U
, _" i$ C1 @0 D. {. Y+ M7 } var itemFrames = page.getElementsByTagName("frame");
- O$ `9 `4 H) k$ h6 y1 V! k var itemiFrames = page.getElementsByTagName("iframe");: O! R- Z0 T6 f, D
6 b9 v! {0 l* ^' f
var frame, iframe;8 R; G- B, @- T0 P
if (itemFrames.length > 0)' e7 ]) o8 _5 r/ x6 c: j$ s v* Q9 U# [- e
{
2 ^! a0 i( K$ x- Q# p2 h9 ~; j+ L for (var i = 0 ; i< itemFrames.length ; i++) ) t1 X; D* `$ X. @
{. Z% G/ I4 ?8 L: H/ R+ i& c# j
frame = itemFrames.contentDocument;
, ]) F& g8 e" n this.RemoveHide(frame,objname);
3 N, C9 X3 K, `: f }% i7 j, v, ]6 b& i. |3 u6 B
}& U0 G) E6 V9 J% a B
if (itemiFrames.length > 0)
* D9 P/ e4 c1 u/ L; e' } {2 T% o; b, C0 M1 L$ Z( h
for (var i = 0 ; i < itemiFrames.length ; i++) , x( m& z3 Y$ f1 Y- A. Z
{
: b* P2 F7 k9 R2 ~# F iframe = itemiFrames.contentDocument;
1 B) m- }+ D0 ~5 ?* p this.RemoveHide(iframe,objname); + ?. k1 a( t1 ^ t
}$ T. G9 ^. ? e+ R( R- }! T
}8 n6 {5 r: w4 Q" ^( w/ B
}
& X+ W! q' r! I. X) b+ c- | catch(e)
. j. P4 ~% z; m4 g {
9 z9 }3 v; f5 I$ F( L0 {% f if(debug)- V; j9 N- d' X- b, v+ A2 P
{
. |1 G3 Q. I& C% J& M: b; @ alert(e.message);- i! ?8 O) ]) R5 _
}
& L$ ]0 z A/ y }
! ?0 f, Y! j2 t4 K: P }1 F0 ?: b" Y7 \, f9 w* H+ V
7 m3 N7 @" Q, q# ?8 `3 q
}
0 q4 b$ Y7 Q( S: |- n0 \2 I$ A& e, f/ V3 K
function getRGB(colorString)4 H, A! f% M$ b8 L A
{
' ^1 ~: K9 T& S5 g0 }- ?5 a9 x& Y var RGB = new Array;
' L" r2 M! ]% M7 k var tempSting=colorString.substring(4,colorString.length-1);
" n( L" Y% v7 z/ S var tempArray=tempSting.split(",");$ y3 F$ X% O& }# G+ D
% I0 y3 t" k0 @* ]8 P$ X RGB[0]=parseInt(tempArray[0]);
0 J5 d/ n+ ]/ v5 r RGB[1]=parseInt(tempArray[1]);+ G2 R4 v( L: q5 U! X4 H4 C+ F
RGB[2]=parseInt(tempArray[2]);1 a8 j) h) o( y3 N
' [& B. |* Q. E+ {" c$ i9 G
return RGB;4 {8 {' v& J% a+ c) O
}
( q5 t& E6 g$ d- Q( H0 Jfunction keys(evt)
, f0 Z7 f* s$ U1 V+ j* D {
q/ g+ {& C, H4 t+ a if(evt.ctrlKey && evt.keyCode=="81")
1 I& h$ a# T5 N1 v% a {
% a6 c$ v( G" R# @" F3 | CleanHideObj.on(0,1);
+ ?. Z; m2 O* | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 H4 L4 n. T9 m1 x1 ] 5 Z7 W& W& ]% b) p" C+ {
} " m! Y' e3 ^- t1 f/ c) s f% E n
} ( q1 }9 n9 q) K5 `1 ?! i$ a
document.addEventListener('keydown', keys, false); 4 \# L: b; G& K9 a: z8 r
GM_registerMenuCommand ('Clean Hide',
3 O# E' B9 A6 _+ i$ s/ t m bfunction(e){! q* \. e, ]! b( U* K* o& q$ b
CleanHideObj.on(0,1)
, f8 D! d2 }- x& halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 x9 |7 ?! p9 A8 M5 ]& j: m6 R});/ k; q8 c# U# P6 j
|
评分
-
查看全部评分
|