|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- O3 K) ` g2 [% D* n" `0 e: E1 L- }7 `7 U) z1 N3 K
火狐插件,用猴子
" P# a4 ~3 A5 [, S8 w: T% c( A l0 L
var debug=false; ( G/ D% {0 a1 o7 z
var CleanHideObj=new CleanHideClass();2 ~* ]$ ~7 c& g8 z
, }. r2 \' s; [/ N2 k Nfunction CleanHideClass() ' k- M* G3 A* C) i9 M7 j M' @
{
8 Y; ^2 {& `2 i3 B8 t, E8 Y9 o/ X 4 S4 R8 D5 g! j# f+ E
this.on=function(id,bMZ)5 `& G: O% [( m+ h$ ]
{
& \) p6 p$ [* c& ?. S% T 3 h; ]% f% Q& p @$ V
if(id == 0)
. r! o; O7 \: [1 O. b {+ c0 @# o5 U+ c0 @
var page=/* document.getElementById("content").contentDocument */document;
' y0 r) r* d) } this.RemoveHide(page,"span");
3 y4 q: L$ y' F* |1 s% t, { this.RemoveHide(page,"font");8 O$ n! |0 y( G5 M" c7 D+ L6 V
this.RemoveHide(page,"div");
; `2 |! O' U0 a4 c$ h this.RemoveHide(page,"p");
& e) e3 ?3 C# ` ( Q8 S/ C; Y7 s
}5 _- j1 u% F4 f) B) H+ a: u' f
% v* u+ ?6 {* m7 k+ c' D
}
# F) Q6 _* S9 j+ B& j this.getobjstyle=function(node,prop)6 T: i& F" I! f- V9 `
{
; W8 o7 u# p4 f6 B! R8 ], G try4 X+ `* G2 n8 O- e
{
1 M; t* N5 }& \. q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# B. \5 C6 E2 W2 \
}. q. S3 L: R1 r& B% \# R
catch(e)
5 T8 ?$ y2 D# y9 {: }; Z {: i& E' k# _$ J: E7 j
if(debug)0 Y& [5 C0 H, c
{
& }2 c6 i1 _* J1 Y, p alert(e.message);
2 M- ~" C' E: d }3 {+ D; m$ g7 @) |. C& z! I
/ H; q7 ~* V4 T3 T+ |2 K" V return "200";
6 k( ?1 X3 X1 H2 P8 M$ {# ] }& q) L8 d! e8 }9 q
}
) c- _. D5 I* `" z) b
, @0 W8 H% `1 [3 ~. f this.RemoveHide=function(page,objname)/ E* Q' `; `) O
{9 n& K" o( e& e' k& z# b5 t! M
try
' U& r$ |. I3 Y0 C* s; T) O' W' Q {
+ c) N5 O4 T) e* q9 ~9 H8 Z var minValue=15;+ H" M: }! G* k/ s
var objs=page.getElementsByTagName(objname);
3 `# H8 x( j$ j# u, S& Y$ O8 O# d- P3 X/ z% {" i" D/ }
if(objs.length == 0)
( g0 ~: p4 @) u2 V. H4 `' @ {0 Q3 {- c7 Y1 K' k' i. t6 D
if(debug)% V/ \4 p) Y3 b* V a* B$ ], a2 i
{* T% ^- f4 j9 ]. c9 V
alert("no object found!:"+objname);) W2 N S" W2 @
}
8 K6 v+ w+ U/ G6 F- j: l9 N# o8 v6 U }
7 M) h0 |" M/ j, R$ L3 o0 f/ S2 u else. f5 E; E1 j- r
{
5 |# T8 @* e1 D3 U- `
7 x" R2 K) t. W4 N. ^ for(var i=objs.length-1;i>=0;i--)
5 j: f5 `* o2 E# r8 n7 [. n {9 d s$ ~) P9 E. i6 @4 ^0 m# i2 n
var node=objs.item(i); 8 I! _: r% J. w( J1 t" O& |
5 |, m) |' _6 Z/ j0 c9 P+ K
5 j% @; {: Z/ R7 {. A8 u2 _ if(this.getobjstyle(node,"display") == "none" ||# q2 Z4 W! {- r; w) c* }3 ?# U
this.getobjstyle(node,"visibility") =="hidden" ||0 i) T2 L- N- Q3 | ~3 W5 J
parseInt(this.getobjstyle(node,"font-size")) == 0) * P' n( |" m6 E6 F/ A2 z' \. F* ~
{
* F4 b% @; \9 H- Q9 A" L if(debug)
$ K/ F" B1 Y* S {- X* q% \' m4 X$ I
alert("remove invisiable!");, y/ H/ ?* G$ X# t8 A: f2 }) w
}2 E% }7 L, h4 H) Z
node.parentNode.removeChild(node); l' q% r7 |3 H# c4 _( J
c9 Q; Z2 [1 \1 X
}: [* ?2 ~; a. H; r3 \
else
) d7 M0 U9 n) c" B1 p, ~" B {
/ I, e, V- @& j% A1 [/ F if(node.parentNode) + t- D& O V. d: v* t0 z
{
. J6 D) [% y/ X* i$ |0 O: `8 \ var orgNode=node;
( K* O0 u+ v' h4 T var orgColor=this.getobjstyle(orgNode,"color"): q, Q5 o! h4 U4 m" A6 b. N8 V% W
var orgRGB=getRGB(orgColor); 2 P/ ~- w7 R; E, o/ V2 ?
1 _( v) j* v9 x
var parentNode=node.parentNode: {6 b: L; ?; [3 c: c* L
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" @0 P/ |& W6 M! `
# ~* Q1 j; \. a5 T# i. K var isLast=false;( l: F& B7 H7 Z! |. ^; b
; m2 o2 h* s3 |* Y2 F( a3 R! p2 ~
while(parentBgColor == "transparent")
$ j; y ]$ ~% } {, L6 j K+ P! t( n" J7 q( x
' x1 j# b+ W m# g& i( x
* \) [9 U3 O T, B$ u/ _' k
if(parentNode.parentNode == null)
# \" s9 A) Q6 i5 T- L& s4 m: J {( S" b, \! T( \1 |6 x
isLast=true;
6 K4 V$ h- w8 @* G. x6 u break;
. v+ `1 q) s( s( I) B7 @( V# O. D i }
& t, H- |! I. K6 ~* T+ v parentNode=parentNode.parentNode;
; t4 B" V, k1 z1 ~ F- w: M- | parentBgColor=this.getobjstyle(parentNode,"background-color");6 U( {. W/ @+ K* ~: C8 x; b
! [8 n, w( ]6 r$ \) U- p
if(parentBgColor != "transparent")
# g8 F* k5 d5 _& r( _) R: o {
: {& L/ k3 F1 H, ]% V2 @8 e9 d1 _ break;
- `( f) w% Q! v# c }
; ^( T# {+ J: ?0 M }
( p0 c5 g5 u5 C" u% v if(isLast)
: c, y+ D% L" H4 b {
% Q2 }2 V3 W3 o if(debug)+ v6 R; ~+ S% B0 q5 m _6 W
{+ {. @# m! z5 W g
alert("last!!");; Y! X, S8 \" I# o0 M/ a5 r
}
$ X( I P- Y2 j7 U- D# \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 O3 g. _3 I6 H8 Y7 a+ v! n
{# A- f/ R0 X: E: P: s7 b
orgNode.parentNode.removeChild(orgNode); m9 f2 `8 X% P5 w! l" ]
}- ^( r: X( T4 z5 p7 a3 ?- u: m
}8 _5 P8 P! n s6 R
else- {0 \$ Z/ X. w! r
{8 l1 U3 r* B5 y& L5 G9 q7 G9 n$ F
if(debug)
/ [6 w0 r& I/ e3 {- M {: c/ V. k' G7 h. `; _5 P6 n0 Q
alert("compare color and parent bgcolor!");- j% y4 w( v* A" W2 ~* j! C! Q
}
) a1 u I6 _) O2 B1 u7 [5 P+ b2 h parentBgRGB=getRGB(parentBgColor);$ [' Y3 ?0 I: |' C" p0 m! S0 W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% _1 [& r/ `, d4 p0 h! E% b {
6 S& x+ f+ \. U- t0 j- s) N orgNode.parentNode.removeChild(orgNode); " d8 [* t' p8 @) q9 _& G! Z2 _# @
}6 [& k( p# j0 q* Z. y- k5 A% s
}0 Q! u V5 T# g. O/ r' K) D
}
! F- _( I% h6 J5 I9 O }; C* y p8 w+ p
}
. T: {4 Q8 ?5 |1 x3 s }1 B2 t; f8 s3 ?- E# k$ \1 k3 n
' L) \4 Z. s+ y J
7 c0 ^1 g& x+ z9 @' c; F. ?* M0 P; ` var itemFrames = page.getElementsByTagName("frame");
5 A. @ [2 M& P var itemiFrames = page.getElementsByTagName("iframe");8 {3 v2 p8 f( v: _8 k( Q
3 W& j* s8 H# L2 H0 f. T: } var frame, iframe;/ \' F" S( \5 ^6 T# v4 L# ^& K: ?6 Y
if (itemFrames.length > 0)
, j9 v: V/ j! w+ V8 r7 P {
. g. @, i8 G/ R. k2 T9 k3 [ for (var i = 0 ; i< itemFrames.length ; i++) 1 i& r9 u& a$ {, U/ c* l6 V
{& F6 p% K; Z& v. ?. o" }
frame = itemFrames.contentDocument;9 n) B( q) y; H
this.RemoveHide(frame,objname); 0 l0 m S7 g$ I9 V4 T- Y' o( w
}8 l/ c* z# A' y# R+ k$ C5 V* J
}, T1 M1 S" U7 W8 Z2 R+ b
if (itemiFrames.length > 0)' g0 {3 t+ }, [$ B8 ^0 k9 N2 j# q9 @
{, _: s$ a! o& f1 o# y
for (var i = 0 ; i < itemiFrames.length ; i++) 7 E' l6 B, x) D
{6 [6 P2 o6 `* {3 k
iframe = itemiFrames.contentDocument;* I# t: `. U ~8 ?: c! y+ G
this.RemoveHide(iframe,objname); 6 k! O- k- Z7 B+ q
}
1 P( N& _8 M: E1 W }6 D. ~2 i8 K$ H$ C
}
4 e4 T# i2 k$ d0 T6 O7 n4 g catch(e)7 h5 e# j, h ?; Z
{( F& u/ z( I& R7 }) \% h% r( m1 n$ l1 X
if(debug)- _2 U0 H9 b8 S! {) x. t c, P
{/ J; N0 C; u. p
alert(e.message);
) ~" R: g" C+ w) ]. c6 t3 K }5 G, M& N- i! z; o$ N9 c
}
8 V" J7 l7 S0 O }
2 U3 H n- B1 }% _) H' z
$ i$ [; G; x( B" D A}, @ D. ?3 E8 y* v# V; }
7 b: w! X2 K: w4 `5 lfunction getRGB(colorString)* p, Q9 `0 g0 K D# `6 W) i
{
! g/ _1 y' W! E6 p' u$ x$ n6 d var RGB = new Array;
- h) I$ D! B, N# K9 I' H! o var tempSting=colorString.substring(4,colorString.length-1);
4 D" S9 r0 F7 v% c9 a! T3 R8 t" r( n var tempArray=tempSting.split(",");" v( n5 L1 V7 d9 V
$ a( t7 w V# g" q RGB[0]=parseInt(tempArray[0]);
* Q" V' V5 N. ?3 R( {, r RGB[1]=parseInt(tempArray[1]);0 Y2 w2 ^4 e1 N! _
RGB[2]=parseInt(tempArray[2]);
# T+ \- }3 O+ @2 a& u 2 H3 \9 f2 n; s% r0 Z
return RGB;" X7 R& F- l3 N5 S- O1 E: n
}' R |% z/ f, D0 h
function keys(evt) 0 f5 d+ f. U/ v% Z3 H: n: N
{ # F. Y" W5 ]; y9 f% C& E; r
if(evt.ctrlKey && evt.keyCode=="81")
. l/ q* i& C, f2 O3 S { 6 Y0 b' Q& x; v/ e$ `
CleanHideObj.on(0,1);3 |0 h0 h6 S* V; |8 ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ f" m# n; q% N8 m: ^3 f
: b/ L- O5 @: A+ N) ? }
. F _5 d8 O% l, o. i6 p } / m' r4 Z- s, m% o* D
document.addEventListener('keydown', keys, false); : Z9 p2 X9 @1 s/ k( @
GM_registerMenuCommand ('Clean Hide',
3 J x+ [/ P! ]5 q0 m+ kfunction(e){, R: }- t4 l. _# L( a0 O; |
CleanHideObj.on(0,1)
3 S) M" J2 n0 Ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ j- [( U/ J- s% q4 m; A});
5 E$ K& U2 g- w |
评分
-
查看全部评分
|