|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - F# j. \# N, K4 U- r
' i5 j) J' f$ U
火狐插件,用猴子
; L+ X& T! I4 `# c8 D
0 [1 k8 f4 n$ r }var debug=false;
9 @ ?( A" {8 B/ |1 v& w7 zvar CleanHideObj=new CleanHideClass();
$ g# V1 J/ V# W' R( D
5 k- P2 w& R4 y6 w: Cfunction CleanHideClass() ! K" J4 B% [7 P6 h& N7 i
{ , q+ ?" ]3 X. `, d6 L( E: I5 w
. u, z4 A. b" Y5 G3 J
this.on=function(id,bMZ)
! | M8 m# q% }' L+ x( F2 E {
+ P; H- ~+ S& q
/ { e( i ~/ h9 X0 o/ v if(id == 0)9 l: J, C: ]% `( f
{
8 `' A# b. `4 w) \ var page=/* document.getElementById("content").contentDocument */document;
7 U7 T, n/ A# M C+ b8 e this.RemoveHide(page,"span");' `; C4 K" v6 a" v& ^7 ?" C6 R
this.RemoveHide(page,"font");5 C- h+ v- P; q! k2 w
this.RemoveHide(page,"div");( Y2 f& C) a" r7 l6 I% D) K0 v
this.RemoveHide(page,"p");
0 C) v, S% u3 E; k
. h' t9 v' l! J P w8 {% T( s }& R8 w2 o9 B4 c4 R/ g) V5 b
6 K) J5 i+ z4 f7 M
}' O8 A& \2 ?" }& ~: q) k0 B" ^ a
this.getobjstyle=function(node,prop)% _% m0 f5 C. [7 Y! a
{
1 E- o4 i; N- ?0 z try, b$ H7 V7 }9 \ c! N
{2 V" u7 t7 h6 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); L0 V' {: _0 [' q5 Q" v
}3 H+ b4 a3 O. U' v3 m9 d
catch(e)" _* N$ |/ y0 D
{5 ~' T) V+ R( B' @
if(debug)* o, b/ U* ~. ^% h; v
{
4 J8 l, L0 B6 i' | alert(e.message);
; S. F2 C# W# z1 z4 L }
& m5 W) B" V& e& r
, h$ U( ^% y/ K* r return "200";; D }4 I( r! }+ l3 |
}
0 \4 u8 ]* R+ ?' Z }
* g; {* H. I9 \. w8 l5 r0 | ( X: S! \1 I4 o3 \ |! Q( \
this.RemoveHide=function(page,objname)5 s' s: k$ i6 |: V
{
% k! T0 u; |, F try
% R* z+ e" N x9 `" ]! E {
3 _( |" M* d4 z I var minValue=15;% s; P2 A5 x# I! c8 t3 `
var objs=page.getElementsByTagName(objname);
* b, n3 E; |( |
2 m% O* P& Y) D5 i" x7 [8 w if(objs.length == 0)
5 E9 O! t o% p/ `+ x: N; Z9 H" b/ ~ {
: E- |5 H. ~- W1 d5 r, k7 h! v if(debug)
2 }! f3 G/ K) o& x3 z! V% G {! n1 `2 t: b" @9 A
alert("no object found!:"+objname);, g! _) k0 E/ q* T. X
}
# q. P5 l. C1 `, i0 Q: d }6 t2 n" j9 J& ?5 ^
else M+ m+ J4 N. S5 _* D
{$ L; H& d3 }& |) ~
8 b+ g- W& O X- v8 n4 U
for(var i=objs.length-1;i>=0;i--) ' B8 d' H0 M) f% V1 `: P
{
1 y6 m% g$ \) ~. Y) b9 m var node=objs.item(i);
8 @* G9 E( q" W$ X3 W+ U+ U g+ [6 q, p) ?& g i
# f( [) A7 g7 d
if(this.getobjstyle(node,"display") == "none" ||
2 M0 K9 d9 d x/ f. z5 M9 @ this.getobjstyle(node,"visibility") =="hidden" ||$ V q, V4 d$ z" M
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 c% u2 ~ U9 q! r, ?
{# h+ {1 q) h. ~+ \; H2 [1 W
if(debug)% \4 r8 w( m0 g2 K, o! ~' R3 k
{; T2 P# c7 V! @ K' b2 I
alert("remove invisiable!");9 a, m; f/ |* S* K1 M2 }
}
7 J; _ O+ i. `& S3 T8 F node.parentNode.removeChild(node);
1 n) B' P) K" \% F/ c
7 m2 b6 z* u0 A! Y9 D }! p: [% a! p( {1 M1 _2 g
else
6 e6 m, ^$ k( \6 ?' A( V4 b/ w {8 {' \, U, q, i% B! ?
if(node.parentNode)
6 j0 p1 z% ]# R* w {9 f4 e# Q+ m% A! w# R6 \7 u
var orgNode=node;& c$ e- q: E9 F0 f) |$ ~' c2 ^3 ]% _
var orgColor=this.getobjstyle(orgNode,"color")& w. ~7 B8 F9 k; ]5 ^0 Z& Q! b, [
var orgRGB=getRGB(orgColor);
2 V, c: b1 G, y" N" ]9 y
$ {! L7 t6 C9 y2 ~6 i3 C4 b, K var parentNode=node.parentNode
/ a* j; K' L1 Z, Q var parentBgColor=this.getobjstyle(parentNode,"background-color");" N# q7 m! i. `" c9 q3 X7 I
e4 y0 _" l' i, J' ~* V var isLast=false;
$ i( Y/ ?1 V A% M5 V & j0 N+ r8 E: U9 l' n
while(parentBgColor == "transparent")
6 }: o0 s6 Q1 c+ a. w* _ {7 I2 v" m4 x8 v8 k3 u
% F7 ]5 C- i9 F1 W+ l' N T
/ P& y+ D. ?% S y; q4 O
if(parentNode.parentNode == null)
+ r5 k5 W) j" o L( x* i* h {) T- V& K) `9 z, d( m4 w
isLast=true;8 |. J% D5 C- z4 p
break;2 p' q6 v+ T: _ h7 A& I
}
1 i7 Z, I) t8 A parentNode=parentNode.parentNode;
* B6 e9 i- E7 q1 k, R parentBgColor=this.getobjstyle(parentNode,"background-color");! U6 p" v- F1 L% _* T3 g: X
- V" {4 N [$ {( s3 Q! h: E: U; J if(parentBgColor != "transparent") ( l! f5 F; s4 s; Y
{5 \8 H' N& x9 W9 z6 G! d0 f/ R4 g
break;
' x# n0 }. B: @: Q }
7 [* h0 O. Q7 _( G5 \. _ }
: f. [, ]$ Y: x% b, _ if(isLast)
; _& b! j4 @5 q$ G% g% b' J {' w) R+ f, W5 h/ l
if(debug)
! j; v4 t: M$ P {
4 e$ C- X& a! H" A alert("last!!");
. f% b4 h* `% e# n; ` }& N- Q6 M r/ L1 d+ h- V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
Z. v- K8 i1 {3 Y% i, O# [ {. S9 S% T, _1 l. ~, t, \9 g
orgNode.parentNode.removeChild(orgNode);
/ [0 L7 F+ P9 n# g9 r. L6 u5 C! O, @ }: O* h% ~# h1 i$ Y/ B- F+ x& t% y
}: O- k7 \& B* u
else
+ u" k8 n9 q$ E) u$ h& ?; ^0 ] {
- I. c8 F" x8 ], n* D if(debug)
7 E& B! V3 Z. o# z+ C {6 N: p$ Y; k* Z# O
alert("compare color and parent bgcolor!");
! p! Q3 v, ]% A8 m$ T }
+ G3 F3 Q+ Z8 _ parentBgRGB=getRGB(parentBgColor);
; E% }" j1 A* `9 E if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% t% B, p. G+ @2 s {
+ a6 _( r$ v0 n ~" w orgNode.parentNode.removeChild(orgNode); / O& }: k( a* d8 ?. P/ u& d+ }/ V
}
9 D; c9 M9 U% M7 v* F( ?' A }
7 M, k$ f0 D1 ]9 G& z: y }2 R2 o! `7 f2 \8 M0 l H; C
}4 Y; ~# Y8 {: U. e7 H4 z9 k
}, c3 U0 E6 i# z1 C$ t3 I5 S% N$ [. m
}
% m: w. n8 K& e, S/ w' g3 S) l( y
" \+ E* V: D, P$ O / I3 u8 T* J O& K, v% X) a
var itemFrames = page.getElementsByTagName("frame");) C, ]) W1 N) Q# F! B5 L% n* f
var itemiFrames = page.getElementsByTagName("iframe");
2 {' t/ R0 v" H. e0 _ " |3 b0 }+ U7 C' i/ h# R, D
var frame, iframe;2 n4 P) Z3 n; S7 M5 }% v5 d
if (itemFrames.length > 0): c: O2 [7 V+ _1 _
{, j6 g f0 D2 m, }( j
for (var i = 0 ; i< itemFrames.length ; i++) ( I2 S: { v( o0 s4 t* @* w
{* M& B; b1 J+ y% b i' j
frame = itemFrames.contentDocument;2 `% U8 Q6 w4 {& V) \
this.RemoveHide(frame,objname); : I0 B, S( S# l F* P
}3 w2 w! Q, m% J8 y1 @
}, \- `# k# O* Y" C+ C" {" U0 C
if (itemiFrames.length > 0)5 D; p ~: i; t+ ~
{3 j( c" t0 r- d5 r7 p1 ^
for (var i = 0 ; i < itemiFrames.length ; i++)
/ k9 y1 `% L2 x4 H {0 o4 i, `: D9 i- v. w
iframe = itemiFrames.contentDocument;: }# H( D5 W" b+ M& v ~
this.RemoveHide(iframe,objname);
# j: I' E; c4 F }
$ ~9 a% B0 K7 j, O% V" u. G6 s7 R% w2 a }4 w% v! {! M* q9 s: k
}; Y/ E9 n4 O4 k% U
catch(e)
/ i$ |# [& a6 u7 N$ g) a- J { N/ t% x1 G, N+ I. J; Q
if(debug)- K3 ~( J5 Y" u" N& B
{2 |/ e2 N% ?- F% L+ M: G; T' {1 Y6 @
alert(e.message);, N5 e; M* ?- g) w2 h. y/ t2 q
}/ y! F1 y V" e! I- D3 Y
}/ p/ ~7 V4 ?1 Y% g
}2 w' t3 U- V" @7 q" A
# x' f. f5 P/ q: A/ t9 [}- b' T0 ~6 U {+ z, ~2 T' g w
# |/ q# {5 \" d Q7 jfunction getRGB(colorString)( R! O" S' x7 y- l3 h# [; D9 V* n7 W: f& z
{& p- n. D, u0 M/ @& S% ~
var RGB = new Array;
6 b4 O+ Y: ]6 y: c# J7 ~ var tempSting=colorString.substring(4,colorString.length-1);
. _2 N! m+ I f! F1 O! Q var tempArray=tempSting.split(",");* c( N& [; _ i$ d' N: Y
+ b3 D! H- V$ R( ^ RGB[0]=parseInt(tempArray[0]);" R E# R# O# J& I7 B* F) H" r! e
RGB[1]=parseInt(tempArray[1]);9 M; g5 K7 F$ Y% ^
RGB[2]=parseInt(tempArray[2]);" x8 l) o" N( F: a3 b8 ?- R
/ x. F, @/ j5 L( j) D1 n
return RGB;5 t( \8 Y1 U% @- b0 l
}
& N, ~5 l; ?3 Hfunction keys(evt) $ S# k+ c2 T& I: @
{ , T- E6 @# w' L
if(evt.ctrlKey && evt.keyCode=="81")
: x) n- n- A6 J+ ` {
5 S9 ?, \2 A h6 N K0 d f4 | CleanHideObj.on(0,1);
! @0 K0 m' a. c2 r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* i( D& V/ M+ L5 I# c * o& L; B5 T. x# |! `+ M
} 3 y1 W9 L) H5 V& E ^
} # g& T3 Y: l3 m4 l2 _
document.addEventListener('keydown', keys, false); & Q) S7 F- J ~9 m
GM_registerMenuCommand ('Clean Hide',: N \! T9 t- W4 a. q( @
function(e){
$ |2 P5 q3 @4 L: U7 |# X( qCleanHideObj.on(0,1)0 X' Z' ~8 O0 Z$ i7 q( V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 ^, c0 U! y# j" m6 o. M/ I
});4 k. t4 l+ C; S$ o
|
评分
-
查看全部评分
|