|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 k, O( R g* _# t( [$ d$ R: \
2 t& q8 l" V: h
火狐插件,用猴子
2 f3 W. |& X) r. `! _4 | S( A# X* D {! J' {* n
var debug=false;
" p2 `9 V* t1 w" t! U }9 v- xvar CleanHideObj=new CleanHideClass();: Q( b( s+ e B0 x, G U, X
( Q- R# D' Q2 Vfunction CleanHideClass()
% Q6 U1 p' M; A# _0 O{ " K' \0 ^1 A5 p* J
- V' x2 x/ s4 y3 D! {7 c! A this.on=function(id,bMZ)
; G7 C6 [0 w5 R" ^) O) X {+ J: g- }4 f" x! w
8 Z# a" o% _6 A( k if(id == 0)
9 W8 Q: n* D, L6 {! I& g% V {
; l% I; v$ [4 D var page=/* document.getElementById("content").contentDocument */document;
5 O& u8 s# l# k) ~4 O/ V this.RemoveHide(page,"span");
% Q. s$ V* J3 v: l; u3 G6 ` this.RemoveHide(page,"font");- L! r, d. U1 j# b0 \" U
this.RemoveHide(page,"div");
5 |; m8 a& d. U' j8 N this.RemoveHide(page,"p");
) n' k& n- k$ e- K; [" @+ h 2 v8 N$ Z3 X2 O' q
}, |5 _9 i* `( ]/ i, b( N2 U
5 Y3 O9 j3 x: W R, h
}; s# @+ |. {( a* A; U( Y
this.getobjstyle=function(node,prop)1 g+ l; A& R$ R5 {$ z" m. D
{
8 s" Q5 r6 p0 z' t N7 H try
. R# L P: Z- U% j. x, S" I {
5 w+ K) C/ |& l3 \! Y4 R) M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" b7 Y7 ]+ s8 q9 p u }
' r" i/ \; T5 @1 {2 b7 R- C4 J9 ? catch(e), b8 M1 v$ l' Q3 f! ^9 P0 t, ~+ f
{
5 b3 g" {0 R: H; M" m6 v+ \1 | if(debug)
) V. P" i/ T$ ^ {( y; k: V$ W- w V# O
alert(e.message);
5 d4 ]7 E. z* P+ L) b( ] } _( E, m' l, V O0 P) e+ M- i
9 g- g1 S# A5 |* I* K
return "200";
& ^8 C/ b7 t) ^6 V- b4 _, _2 I% D/ ]- @ }
: ?& P" T6 I$ Y: K+ N } k2 y) C& l7 g4 A0 z# |( e% ^
2 U# q$ R3 `" \( f
this.RemoveHide=function(page,objname)
" x2 g8 |, K) s# \ {+ D, C7 C- y9 V) N
try
. u/ ^9 p0 v1 e% n6 J( f {
& b( R7 E9 ^. b4 G, A; k c var minValue=15;8 O1 @; O% p) S7 A
var objs=page.getElementsByTagName(objname); : ]- o1 ?* O$ w( P! b
2 G0 B" o" C1 t
if(objs.length == 0) 8 c5 z& U5 V/ D7 ^1 ?2 N5 N
{
, m9 e; p5 L1 Y if(debug)9 d) |0 |: W4 c! k% p) m
{+ t" p! ^- k& ~
alert("no object found!:"+objname);
6 r6 c/ R/ x& j" Q: W9 r }/ I% Y0 L8 s+ @$ ?$ i! f' |
}
6 ^; s' a6 z6 B4 Z8 v# g$ Q+ @ else
+ q# n# X: Q3 s! {$ J" |! t: g {
5 ^4 M w7 o4 ] 8 F! l/ I( r4 W# G- [$ S+ E# x
for(var i=objs.length-1;i>=0;i--)
6 i; ^4 O3 O& x3 |$ ] {
2 b% x/ S; n! e/ a$ n var node=objs.item(i);
2 R0 W( E6 P3 u
/ I0 V& ^: s' i0 D" y! G2 ^- ^ ) }8 ]1 Q1 S8 F+ \4 B, Y
if(this.getobjstyle(node,"display") == "none" ||; _* B/ z: q6 n2 r6 i& J% ?9 v
this.getobjstyle(node,"visibility") =="hidden" ||
* v+ ^$ K) s( ^/ O0 L; n3 Z5 T parseInt(this.getobjstyle(node,"font-size")) == 0)
6 j" _, l8 w7 l. _6 j; u/ m {
7 R$ ]# M& W3 _- g6 G' R3 a if(debug)
+ b7 e2 A; @4 i3 [# s* Q) s {1 A! n$ Q2 b3 }6 @0 l- j Z
alert("remove invisiable!");' I1 T# B* Y# m. C: n
}
d3 s$ w# t, Y+ ~ node.parentNode.removeChild(node);
3 `7 i( H0 A3 M; p# {: U. D4 D. W" E , c6 q8 |) H7 H# j. y
}3 I/ U( [7 h' \5 _
else
/ F$ ~1 N, t6 n. a {) c& S5 [0 ?* H5 Y3 U$ q
if(node.parentNode) S& I( B/ {; _" p9 C
{
, s- H1 s0 e: f) r, E var orgNode=node;$ c1 [+ x/ Q+ [, [7 j# d, r1 ?
var orgColor=this.getobjstyle(orgNode,"color")
+ o/ o% T. O1 G% j5 W L! H var orgRGB=getRGB(orgColor); 5 l8 ~: ]; R! j! C7 p
Z% ~) P n7 F* A& Y var parentNode=node.parentNode
& _ Y1 t c" k var parentBgColor=this.getobjstyle(parentNode,"background-color");
, u' l( T2 ~4 `% t- T ( c3 a5 N2 s O) P' M
var isLast=false;
; F y, J% R( }/ X6 c- h5 g* L
. T6 _, j; \5 T2 J while(parentBgColor == "transparent") ( A/ Q7 w! Q b0 f
{
# J- B2 F8 y) \$ P' G; ?9 j . X+ r- Z% n {6 D9 k0 x
. r1 Q1 d7 W, P8 [, a if(parentNode.parentNode == null)! t' T7 E8 w' X
{4 y5 |2 {9 T2 \' c8 [1 P: ]1 K
isLast=true; B) \$ z; u9 ]# X2 L4 @
break;& P+ E. F5 p- G1 `7 H
}
6 ~/ ?8 t, h" C4 N parentNode=parentNode.parentNode;: [/ b9 D2 d4 v9 B* X% [
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ m3 n! \, W+ v* }$ B
' ]. u6 f' |3 o. ^ if(parentBgColor != "transparent")
5 `, _( U/ c! K3 p* y# i {& \- I, M3 c, b M$ q
break;
" A/ `/ U' J( I; A }! C. z; R* \: }4 l7 \6 r
}
: K* p6 @9 J% ]% f- P if(isLast) / m2 M1 q) f4 w; n$ t1 o& R4 o# e) k
{
6 y/ f; Q9 g! K, A; E. D! c if(debug)7 h* i; }& u- V$ Q" k5 ^" w
{
9 I8 s7 r2 P* P. S0 l: \ alert("last!!");
1 {4 m$ j$ A" [3 V3 n' { }
. i, |, H# P& [# v% o3 w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! J- A5 Y# T4 l/ }
{2 j# j& `9 g& }
orgNode.parentNode.removeChild(orgNode); 7 ` {! }% T2 W# ]( u+ x
}
( [7 t( S: j9 n0 H' R8 W, @2 a& Y0 ? }
( o% a& j2 d2 f' y else
* Y- } m$ U0 ` {8 P: J) z! _- B2 _$ S7 e! o2 V
if(debug)6 e6 X, ]3 H" p9 j
{
! E, |; H( `6 J alert("compare color and parent bgcolor!");* K1 ?7 h6 O- q, T5 c( P" o+ E
}8 g& i a; }; w/ b9 ^
parentBgRGB=getRGB(parentBgColor);
3 U% [. L5 L/ ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 `) k0 \* W8 ~" i( v8 } {/ q# M/ D6 }& o( C2 Q( v0 i( I- O
orgNode.parentNode.removeChild(orgNode);
5 r3 n( z, m. R! t0 t* |3 b% Z3 X0 T+ \ }( ]3 o2 }4 x2 ^: H' _
}& {5 q6 |) }; ` q1 |+ N# @
}
; f) V' D/ j4 A! R7 N }7 u1 j. ]8 Y- M' j7 f, P# D
}
* k$ `: O* |% _: c }8 y2 E5 _8 j4 U
, Z' Y5 C: s$ }9 j' ?' E# X& _
- a8 E- y# ?3 A8 `5 J! |4 D) e var itemFrames = page.getElementsByTagName("frame");, T. i# |. e% b' S. g
var itemiFrames = page.getElementsByTagName("iframe");1 n! z$ ]" i# S: K6 u
, M$ t- n* C( `* J2 h! Z1 j
var frame, iframe;0 k* I9 q( q. p& a1 S: A7 [
if (itemFrames.length > 0)
6 G6 w# }% b& R {2 @. s: R9 Y9 Z: U" O
for (var i = 0 ; i< itemFrames.length ; i++)
. Q$ }. P& F/ D( o' A j" m {) G5 _* u& E$ Z3 ]
frame = itemFrames.contentDocument;
_: V& f1 n) |7 I3 R this.RemoveHide(frame,objname); T+ \+ X/ s8 Z9 f h, O& M
}- u, p6 {3 _$ E1 g+ i! A) H: s
}4 ]) Q/ D. V, r
if (itemiFrames.length > 0)5 s0 l* P2 U0 A/ C; ?9 c; O4 a
{
1 q1 d+ Z% Y0 W, g: R r for (var i = 0 ; i < itemiFrames.length ; i++)
6 n8 _$ o" v$ P- @ {* f3 x1 K" h* D3 {) @$ H$ i
iframe = itemiFrames.contentDocument; g+ C/ I) y. F E% `& S
this.RemoveHide(iframe,objname);
) O6 y C+ `! ~ E }
- S: p X7 A/ s7 ~3 u }
2 Q( p5 R2 k0 m- [: a! } }0 v9 j& F- x# n, [$ L6 U9 H
catch(e)5 V7 r$ }2 `4 p8 M' H$ L2 x
{7 ~# p1 Z: c" E. B, u1 F5 V
if(debug)9 `$ D% w2 Y$ U
{. p: J; W+ T' u7 V" Q% D, D
alert(e.message);
2 N4 j; |- I- c+ T }
- l7 j- B" A* I" N% R) S }
, T0 S' P: I+ I0 N% y4 b) F3 ~ }8 O* c$ X M# B. }9 d+ w+ p
1 m, _( t2 \9 i" k; S& \6 v, @
}( m- g' j" @' E( I
* o4 R5 [. D6 f7 n
function getRGB(colorString)
. O2 A+ S8 q0 p$ I- T2 V: i{! W- \7 G C6 \9 u' K7 V4 z# q) H0 }
var RGB = new Array;( M0 H7 b, V- |% @% F1 Z
var tempSting=colorString.substring(4,colorString.length-1);3 R( V* C5 ~' k: u! J# E* [: z
var tempArray=tempSting.split(",");
# J- J9 ]5 e4 o4 d8 b2 U1 `- [
/ X4 T0 S" O; S. @ RGB[0]=parseInt(tempArray[0]);6 U. p. j8 _+ Z. l% N0 N
RGB[1]=parseInt(tempArray[1]);- x0 }2 e- K5 w8 G* y* k1 d
RGB[2]=parseInt(tempArray[2]);
; ]& U' { q+ U ) m/ e, U- }$ E) u* H7 `
return RGB;
9 J @ a* F: @$ m/ ?}
% v1 T1 e4 _ c3 Q8 t O! q2 R5 |; ^function keys(evt)
8 b) d2 W$ ^3 s$ [! m2 n% P( p { 6 i0 x" \" q( o5 ^" _! q
if(evt.ctrlKey && evt.keyCode=="81") 1 _5 ?3 l/ b9 p) }: T
{
) q6 Q9 e& }! ] CleanHideObj.on(0,1);8 L8 T+ v( x/ p5 p- p0 ^0 c$ o" \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ S0 |/ l% s9 b4 B' X
0 U$ Y; k G5 `; Z+ ?6 j& Q. m: s } 4 N, p6 W( F6 W3 M% T
} + e' N' A; ]+ O9 |6 u0 x/ q- W
document.addEventListener('keydown', keys, false); ) `' }$ X( Q! o7 T& @
GM_registerMenuCommand ('Clean Hide',, y0 h' ?" J! d
function(e){7 D" E6 e4 p; r8 l4 p& g) T
CleanHideObj.on(0,1)7 q: s0 J }! C! u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ o* C5 t3 K6 h6 I: p" n});
$ V$ R3 X2 q* G; B' u; A: ~9 ]4 z |
评分
-
查看全部评分
|