|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , q* ?2 j) |( {8 a8 F
, ? G' a+ ~: h" S- \+ B
火狐插件,用猴子
; P# U4 z% Y1 J7 r6 J, h
- x, c, l9 P: i% F" c- O& _var debug=false;
7 A% P6 ]5 d: s) P$ Z3 c9 H( V5 S/ Mvar CleanHideObj=new CleanHideClass();, k6 A4 I. W( a7 {9 x8 @
2 |. a% m9 K! c. Rfunction CleanHideClass() " r4 p) J( H3 D
{ ) z! d- @ F9 d/ W7 W6 G
' x! N: _4 x6 `( l5 v this.on=function(id,bMZ)
& P" p' n4 j5 p2 {/ i- S: m* l {% ?, s9 z7 C3 B
5 k6 _2 o, }- Z+ W# g! x
if(id == 0)6 d: a: F/ J# r; D
{
* Q/ j: V/ d' H& j var page=/* document.getElementById("content").contentDocument */document; % t. s6 B1 U( E
this.RemoveHide(page,"span");( }( L% K1 Q8 u9 B0 I" S& K
this.RemoveHide(page,"font");3 Z& q" y7 L* I( ?( y, E
this.RemoveHide(page,"div");( P( A( o. j$ |/ B
this.RemoveHide(page,"p");/ v& O9 y# b. o( |! p' K
; L: Z- `: I4 d& d8 P
}
) K3 w( }0 J" z8 h' ]
+ h0 K& S: L; s0 r, ~+ T3 l }, p+ b0 h) y! P: l/ H
this.getobjstyle=function(node,prop)
% q. \; W% J4 ~5 j3 p* {8 U {$ e, k) ?4 W) Y! }- C' b. R6 w
try2 V4 n9 K5 R$ Y0 I9 s) w% c
{
9 N) R/ _ r5 I+ ]2 ^5 b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# C& N2 z4 z( v' }
}6 z3 {/ w# q( D, x8 n: G
catch(e)6 o0 I5 M# N Y7 Z( |0 Q
{; b" w! H% f2 {* J- Y
if(debug)* p: J1 V# F) t* n4 B, [
{! J) J, R$ y. `& A4 O
alert(e.message);
% ~# V U! t% b. g% @ }3 S( h& \/ H3 \/ g
& D- s; m* a3 Z return "200";
3 z! E4 @* F- x) J/ a6 X6 V }3 u R. H5 Y6 [- x
}6 u) d! k+ W5 I! E' T' e( Q
5 O: L% k: |* ~$ w! d$ `' Q/ ?. x. h this.RemoveHide=function(page,objname)+ b7 m3 O/ ^! w. b4 X! {
{, o6 X- V8 G1 e+ c) O
try1 r" ?5 v" G( ~ d) v3 Z! e9 c/ J
{
) e. V& j! I0 ^" V _7 s var minValue=15;
' n6 `; y4 b) T" ^# X% r( Q4 a var objs=page.getElementsByTagName(objname);
7 r5 G; M( C3 Y, ~4 y
, a/ l M8 h7 g! D7 R' C if(objs.length == 0)
: b: y T4 q( b0 G! z2 @0 b, q {: b; W, T2 W8 _6 K/ o- r
if(debug)8 |' F- `" g8 w2 w9 Z2 J
{/ x! x" B- \3 {" x
alert("no object found!:"+objname);
# Z2 F+ V" K7 }2 S }
4 A5 @- u% ?6 a/ j# h4 _1 W }
3 z7 Y0 }8 L3 }' R/ G- E5 _: ~% x else; ^8 Z. s+ K& l2 i4 ^8 j
{
2 ?; s( S. C; G+ ?+ g 9 i8 ^; [) }/ e& U
for(var i=objs.length-1;i>=0;i--)
' C% [0 H% m, T" e6 z {! t3 J/ t4 D8 {3 e% T5 ~
var node=objs.item(i); % m6 g( [& Z1 [6 ?4 |1 d
, q- h& D: R) x$ K0 e
7 w& _, W% Z/ ?- X2 L* u
if(this.getobjstyle(node,"display") == "none" ||! Q/ u( s0 H( ]- [5 g6 }
this.getobjstyle(node,"visibility") =="hidden" ||
9 Y& n) Q0 W, p, y* r+ r parseInt(this.getobjstyle(node,"font-size")) == 0)
& c7 M8 T& v; `. O1 g7 F, [: b {
F7 ~7 l0 m; X3 p if(debug)
' H2 d5 r) z# N4 z, l( s2 I {
! U1 X: _4 @( s) z- q alert("remove invisiable!");
* c9 k" C/ R! g( R& Y! `$ | }
" I; G& P! D* O* ?8 g& ~- ?- { node.parentNode.removeChild(node);
. r3 z# b5 u' K7 I+ I 2 T* r( ^6 g4 O) P# R9 B$ G
}: N3 o. H4 `1 t( K4 K, P' Q
else , V T. h \# s% k
{( F ]/ ~4 W5 T# W- S$ D! Z
if(node.parentNode)
2 i1 x8 N) X. G8 i7 \7 ]" d {
+ K+ w2 ]6 J* f var orgNode=node;
, E9 d. i& N2 ]' P9 _7 V var orgColor=this.getobjstyle(orgNode,"color")
/ ?- M; w6 n4 t var orgRGB=getRGB(orgColor); 4 ~( n+ @7 n( ^% L4 m3 }. I3 P! }
1 a" t* |, L& m- t) ~. t
var parentNode=node.parentNode
3 x0 I& }/ ~! T# A var parentBgColor=this.getobjstyle(parentNode,"background-color");* c$ U) U' Y; X6 b! S \
`( H: N) Q) C% m
var isLast=false;
1 |/ V& i& n' [+ c! d4 |" l, ^, \ i
/ Z5 M ?9 e/ [# Q( B while(parentBgColor == "transparent") ; W1 E# g9 D! Q8 z7 n, c! w
{
4 i+ j3 Q) G. ~: @. j
; e9 l- T7 P7 t, t- `9 l . p) F: x/ z! J, J& Z* [( m8 [1 l
if(parentNode.parentNode == null)
k# `3 ~7 k' R {: X% B; r# k Y- P6 n
isLast=true;
; Z y; b1 X$ O' b* z6 Z break;
+ p7 x4 _( ^& {! L% B$ W" ~0 H }
6 o( R# n" _2 ~9 N& N: l# t parentNode=parentNode.parentNode;
& x8 b2 \0 m3 j& P$ Y parentBgColor=this.getobjstyle(parentNode,"background-color");( p. b! \ A% j* a9 y' Y s/ A
# h' G0 U0 b4 W if(parentBgColor != "transparent") 9 B4 ^/ K# R8 d/ w; d, H1 s
{" ~. J0 d9 }/ g! R& f' T
break;/ h' y* Y/ m/ P {# @+ x
}
2 a/ p, |0 ]: O" d- w$ I' k6 @ }, h& C8 U6 _& y2 D T- D
if(isLast)
4 r& }! I: x" [" E; D1 o {& }: U8 j, E( r- C# P' a' K+ u6 a
if(debug)9 Z8 G/ q6 `% Q! Z/ B4 n
{2 b, V0 E7 d9 z* f; n
alert("last!!");
! v- h6 b, O( o2 Y }
2 {) U( S- e1 A6 i# K/ H$ A if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 H7 o0 ^; `) L
{& x5 V$ t6 x( Y, p% p" x
orgNode.parentNode.removeChild(orgNode);
" z' f" C( G5 x; a. x2 u- X }
5 ~( x4 t& X4 }% h }/ r2 t: d& E# a' H2 V
else
+ r* f: G% j) u8 n {
- Q& R: N$ T. P+ c. Y0 K if(debug)
$ X0 e6 B' O5 M4 z; |7 m, ^- n {# E V/ r7 Z# ~- M8 `- f
alert("compare color and parent bgcolor!");1 }# M& | _5 x6 H3 R; E9 n. R
}& A6 i5 y2 g% b. h
parentBgRGB=getRGB(parentBgColor);9 t, T' \& X) c. S9 f- z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 U9 {. M! H7 H8 ^
{$ z' n- |+ B* [3 n
orgNode.parentNode.removeChild(orgNode);
: `7 ~: t. Q4 F" L1 [2 C# D3 z }
: {9 @2 I& u3 c0 E" G' b: Q }7 L( o) j& Q2 ?" R! e
}2 g8 h4 \7 w% V; `
}
/ M- o7 h) i( _5 m }# `5 D& Z( b6 s
}3 @- I+ i) g5 _+ \& Z T
; i& g7 b& ^* P* V
3 _6 h% R0 Q: G6 E4 a var itemFrames = page.getElementsByTagName("frame");
% q: J8 X- B: F/ M/ Z. n var itemiFrames = page.getElementsByTagName("iframe");* @! h* N( K6 E9 W
( U0 f9 b; G$ Y" d# ?1 }
var frame, iframe;9 z8 L6 l- c# q6 {% L( ]
if (itemFrames.length > 0)
L% E, {3 X: [+ ^ {. i9 z- u0 \9 [
for (var i = 0 ; i< itemFrames.length ; i++) 6 ], y7 C: Z& L9 [8 k5 P, w7 ?( Y
{' e [ ~) V4 i9 u
frame = itemFrames.contentDocument;7 o; D) z, r0 p" |# }
this.RemoveHide(frame,objname);
) g* g/ c* @1 n6 y9 P }
, d4 W; A6 X1 | }
; B, _. {) b+ P' y" k- O5 M0 V if (itemiFrames.length > 0)+ ]' M8 h% U9 e
{
" a8 j5 \; G. R' p for (var i = 0 ; i < itemiFrames.length ; i++) 0 o8 i8 ~5 F& K. h9 ?4 q, u
{8 \9 ?( H9 _! Q9 c4 g4 X) X
iframe = itemiFrames.contentDocument;
; q4 f3 u+ {/ g/ a2 {3 x9 |) a( O5 \ this.RemoveHide(iframe,objname);
" V2 E) a4 ~5 |4 q7 K- ] }! _. c) Z+ V& |5 J
}
; P* T0 k# C4 \8 b, j) W" q }. x; x V4 x; M# ?9 E7 ^
catch(e)6 }# G N) \, N+ [0 g6 H# m, I
{
; o" n7 U$ W3 t1 N2 v" r. ^ if(debug)2 m/ p# I9 V+ u
{( i0 d6 f7 b% c" x: G
alert(e.message);, ^7 ]" r+ _+ p0 v( z/ P: k! ?" o
}6 s3 O! x9 l* ?7 j+ o! T
}2 S2 h' w1 u( C M
}
0 N# }. L7 E! h% l4 { ; c- q0 v4 Q& U" h3 V
}
. d* j/ K2 W, l* Y. [8 T4 ^- i8 F
function getRGB(colorString)
0 [# U8 a2 }0 O7 H8 N1 D6 T z{1 h1 M, |! @* r$ C5 i
var RGB = new Array;
7 P% F3 l( C6 n% K n var tempSting=colorString.substring(4,colorString.length-1);
" G8 A" [' r( S1 ~5 X var tempArray=tempSting.split(",");2 p2 m# Y+ V$ M" }* c/ r
& r% G& T8 R) e$ F
RGB[0]=parseInt(tempArray[0]);
, t7 K- Y8 a1 q' S0 S% i RGB[1]=parseInt(tempArray[1]);0 {9 \! o# f! ]- |& N
RGB[2]=parseInt(tempArray[2]);
4 g7 ] r3 x6 E/ U5 h& v8 j. h
. P6 t/ e# K- y% |3 a: D5 S" X5 l return RGB; |) ~) _. P3 ~4 D5 K, ~
}7 q W. ]! t9 Z: j* A
function keys(evt) 4 i& G' B- f' |. H8 n9 a) O3 ~
{ 3 x, P8 j9 D3 n- a# a. ~
if(evt.ctrlKey && evt.keyCode=="81")
# _5 V$ {% `+ x8 ~2 E8 W1 \1 Z {
( v+ ]- i; F. e6 n3 m# a; ? CleanHideObj.on(0,1);7 M7 `9 N, j# H& r# Q( B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + p% o0 _& v8 v7 c. Z
: d7 D: R8 @8 k4 F }
5 D: c1 F' c0 f" M/ @ }
, \ [6 T) l6 j0 f& ~: ~5 S+ rdocument.addEventListener('keydown', keys, false); ; X# g9 q" F7 s! s m
GM_registerMenuCommand ('Clean Hide',5 R! p3 s y4 {: o5 t" r7 k9 L
function(e){
" T9 h5 e3 z ^CleanHideObj.on(0,1)8 H. e# G4 C% B, s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 D7 ]5 F1 B# i; }6 {0 V! W: U});
6 h- q& I, j: u' I* ^8 { |
评分
-
查看全部评分
|