|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, d9 H5 p/ G; b2 v1 V2 | j- `6 W. k" v) Z' t
火狐插件,用猴子
6 [: |6 Q1 m, ]- V; N2 J: F0 |% t& {% }( ]7 ~! d" I
var debug=false;
' F. f. }1 x8 u" zvar CleanHideObj=new CleanHideClass();5 L0 s" x2 w! T1 q1 y
+ S: X. C$ Z1 ~1 p0 `# x: [& O8 ]function CleanHideClass()
G; h3 d4 A! M{
, S. P+ }9 @& h " C# J" o. w, u, X; A
this.on=function(id,bMZ)
- ?9 W* s0 s& [: o: y {8 L1 p0 L: L6 V6 f$ Y
3 n" k! q( i. l( J( h7 @+ t
if(id == 0)& k6 A" E) }8 E$ [7 y7 d; P% g( v
{
9 Y+ D2 A( ^' T$ }# Q var page=/* document.getElementById("content").contentDocument */document; 1 H2 h2 M: F! W3 M' o9 x
this.RemoveHide(page,"span");
. U3 I; E8 p) T) q, K this.RemoveHide(page,"font");: R- o7 ^* ]2 x) M$ w3 W; F
this.RemoveHide(page,"div");
5 } {; j! R! A3 n. P this.RemoveHide(page,"p");
f3 p5 Z# x6 a4 d7 A5 _ 5 [9 }8 U# P" \! R V: |
}
8 _; I8 b. p& V& m& A9 [
5 E$ X2 f8 v' ~# [ }
- w1 f1 s( C9 Q v+ k# n this.getobjstyle=function(node,prop)
7 E6 M4 l9 L! o5 P6 c {
3 @6 g" A6 b6 X, F/ ^ try7 k" D7 ? j0 |# t3 K$ J
{0 M9 q3 F- p! K% C% T, W1 `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 O; T6 V# ]$ Q1 p" `5 E }
( t! q2 N, D' h2 K5 p- u! P) B catch(e)
9 g( Q- u) j4 W4 N0 \ D/ ? {
, t& _9 C/ {$ I if(debug)5 ]0 j+ M3 J/ x7 J6 J- }
{- d% O/ E! a7 v7 `8 y
alert(e.message);
" z) n" i9 e& y }( n- k y3 p! h! G& c; z/ l
0 s: Q0 \0 N. D return "200";
: A3 e9 G% ?( }4 b4 u E& u6 k }% W3 ?7 H0 n+ u y
}
; `* e5 d. V4 N+ [
w* ]" f( U/ D6 l4 N this.RemoveHide=function(page,objname)! S$ z; A, @) J1 K
{
g0 H: P! N5 X2 ~; t try
$ v1 c2 R' f! c! B. h0 C) R6 I {5 ^7 _! D5 w! r, W$ ]: R
var minValue=15;% c' o- L$ i- D0 q6 U
var objs=page.getElementsByTagName(objname);
5 X2 V% |4 _1 j2 w) Y! k& Q
9 l9 D. C6 T% R% S4 g if(objs.length == 0) 1 |6 f6 b( Z* G4 r- H7 d g6 I
{3 S$ l- o3 G: B ^
if(debug)% w5 X: [2 |1 h0 F
{
d# o4 h8 P9 n1 P" C. i# X alert("no object found!:"+objname);% u/ \6 Q6 U# |1 C9 m+ \
}) K# ]$ O( ^# D
}
; t/ v F6 @1 _0 S* C* o else9 n+ U3 I# C) p! Y* Z5 w
{
9 G& x2 |" c% k8 ] / D4 s1 S H- W
for(var i=objs.length-1;i>=0;i--)
+ B0 w& Q9 G. m& D, t0 |( f {! p/ K3 h9 ]/ C" l3 C) ~5 b
var node=objs.item(i);
: d- [) e% F Q * v) C. ~3 ~% e O
* ^# i( D+ v8 X5 U if(this.getobjstyle(node,"display") == "none" ||
; ?+ d. b3 C! V this.getobjstyle(node,"visibility") =="hidden" ||
j0 [) ~# u* [# @5 p8 m7 {' M parseInt(this.getobjstyle(node,"font-size")) == 0) . K Z* {/ b4 I: j; z, R
{
$ Y3 {+ S) z" |7 r9 w4 y6 w% B if(debug)# |) l* D( h# e' C- Z0 m
{
- q' _* D0 v8 j9 z alert("remove invisiable!");# a8 ~; D" h( `6 f
}
8 {: w+ m/ M" L1 k node.parentNode.removeChild(node);
- a3 C- n* s" M : M. c. G7 b9 I" [- k# I
}
: p) I6 _: S/ b$ |2 k q else 6 X! O& S! t' k5 L0 k$ Z
{
6 l& D# B& @3 h8 L if(node.parentNode) ) p& G2 ^; w$ k7 ^
{" T, k b/ K9 \0 N7 m
var orgNode=node;
* j' h) V1 B7 N3 P; m* B( O6 m var orgColor=this.getobjstyle(orgNode,"color")
( z; W( e7 ^# d( x8 {! J6 K var orgRGB=getRGB(orgColor);
% I/ H; Y" ]! K$ b' @; G% A * d8 i0 \- ?& M% x
var parentNode=node.parentNode
' x3 o1 {$ j9 k7 {2 B var parentBgColor=this.getobjstyle(parentNode,"background-color");9 N1 R- X1 Z# R4 R' O
# \: r U# O8 V9 U3 S
var isLast=false;
# a4 S9 P1 J: ]; u6 [1 b" n
' \3 u% b! y; d# j while(parentBgColor == "transparent") - Z6 d( G9 s+ m. k8 o9 L, d8 {' c
{* e4 f4 F, S+ I2 a8 N: X
. q: P7 Y N+ U# J3 l7 t* I . n. z6 ?" g6 n. b7 G. ~
if(parentNode.parentNode == null), j. {9 x, Y) j, ?: ]
{
3 V3 T: C! }9 g$ y isLast=true;
/ z7 z7 M) {* G6 f! z break;
- Y) I M& l, l1 R+ r) z& v }6 s, k5 i8 C, f7 s
parentNode=parentNode.parentNode;- q& P" w' l+ A" }, X2 g
parentBgColor=this.getobjstyle(parentNode,"background-color");2 _6 }$ m C( H) [- J$ [0 w+ p4 q
' C4 ]. ~$ N/ l* g' D. D
if(parentBgColor != "transparent")
5 N! F, i. K) D) D' e {
, Z& u$ z+ Z6 J+ @* J break;+ c5 z, g7 K0 ^* @" m7 h
}
* t: ?" L9 C) m0 r( i7 P$ d' q } m0 g, A7 K, _% L1 a: w$ I; M8 f' _
if(isLast) & K; Q1 v" \0 k9 h
{' Q- ?+ T+ G3 _+ q! \/ g
if(debug)" |' x' R4 D4 A2 A! f, P
{
, Z8 {* e1 q5 B; }3 w) \) J3 _& B i alert("last!!");
F8 o+ v) V( r, t+ M, h# J% E) _0 g }
+ P/ ]' ]1 T- J- X& _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 j8 |1 c8 U* B5 t
{8 X; Y4 v! C, Q( e
orgNode.parentNode.removeChild(orgNode);
5 Z8 o0 s9 e* Q! P0 z+ S }
( T. {/ U8 X1 p/ P( C }0 }! K8 b+ [% {' ~# }# f5 {
else
d% ~0 p; ?0 r- c! i1 O/ ?, Y! z# {% \ {
, \. ]% ]! j% p/ v! _9 b: X' }2 R! x( ] if(debug)+ r0 Z( ^0 j5 p& i+ `; y$ |" P9 u
{+ F) @+ H. I8 Y" b
alert("compare color and parent bgcolor!");
4 u6 |& f) J& N3 K1 g* c0 L }# Y: Z+ B2 Z4 H1 Y
parentBgRGB=getRGB(parentBgColor); r& E3 }: Q; Y- N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ K. x: P: o3 \9 N; H) G {0 _' B4 X$ Z. u$ k S2 C6 V
orgNode.parentNode.removeChild(orgNode); 2 ~% T+ R# E* I
}3 Z2 f4 `0 ?" V- P4 k2 J2 W4 |
}. R3 y9 o5 L; \" h
}, @, M5 Z: J5 S" D5 U
}% u9 Z! E9 x+ w; O
}# w$ C0 Y; W e- }4 x! ?$ B
}- Q5 Q( R' V1 y' X! J5 r' f* \2 a8 q
4 f( H; C& O& D! }; k 1 l1 Z' @. M5 v& r, ~; B
var itemFrames = page.getElementsByTagName("frame");+ l ]4 C' t7 I4 C5 N# y
var itemiFrames = page.getElementsByTagName("iframe");
) @$ U" e6 ^5 |' Q G1 N$ P
6 E, g& w& q9 [( i6 I( z var frame, iframe;8 N* v+ g) V& Y; C
if (itemFrames.length > 0)
/ z& _, B @1 C" t h1 i0 C {+ y; s- R5 O4 @- U
for (var i = 0 ; i< itemFrames.length ; i++) - U3 p) ^8 N j' p! H
{
7 s6 {7 e% Q& I1 S frame = itemFrames.contentDocument;
: l. W5 t& v/ p- v( r this.RemoveHide(frame,objname);
9 ?, k: m6 X5 P8 } }
# g e7 C p. V& Z }
$ E( v; S( B1 l3 T0 o if (itemiFrames.length > 0)
. X' k0 H4 ?* J4 E' \. Y( T {2 ]% `3 S& T% w% L( }
for (var i = 0 ; i < itemiFrames.length ; i++) ; b7 B: Q w& B
{
* T# r. {; D: o9 B iframe = itemiFrames.contentDocument;
l3 ^8 J, y/ j6 X this.RemoveHide(iframe,objname); ) ]) A& K& c; U8 p+ T, U6 v- @( Z
}" [7 j8 F( o1 h$ e
}8 N `; x7 ]! G8 ]; v
}
( M# S8 k# j. ~* A: I catch(e); h Z2 o1 z8 ]$ F. u G
{
; M! @$ h" h/ Q4 E if(debug)
7 p( S' e/ S/ P. w/ ` {7 c/ Q0 Z2 }9 d0 I5 s1 ~5 T: k
alert(e.message);% `8 F2 b, c- o- o9 p
}
2 V# [% X3 b( }. u5 f! O \1 a5 p; t }7 ?- f! F3 N/ P' e4 q T# u0 U: p
}
# W5 j. ^9 q( F- _, [1 I: }* s + e" B! w$ F- M. z# w( n
}, ?+ c6 b, f8 j( I ^
- J- ~% C) x; X& lfunction getRGB(colorString)
; M: a7 X& H& }: F' g{" L8 ~3 t& [; k
var RGB = new Array;
S: E5 O$ w' g* w4 h var tempSting=colorString.substring(4,colorString.length-1);3 D# |& t1 [' x% {7 b
var tempArray=tempSting.split(",");) ]! s& L" T, ^2 i) h
* f0 X x6 e5 v y* u, j: S RGB[0]=parseInt(tempArray[0]);8 q: f) x/ H$ D, o8 v) c0 w
RGB[1]=parseInt(tempArray[1]);6 F$ _# o/ S6 x/ Z
RGB[2]=parseInt(tempArray[2]);+ s1 N8 ?! x( ?) c }/ r1 k: t
; q/ M, d; y1 v9 y# Z return RGB;
& P$ u# p* O. M9 D- x a}
5 N/ t, P1 j) G0 vfunction keys(evt) 9 L: P8 v2 q. Y) T$ o9 n! x
{ 6 s0 l! [3 x# l2 f& W
if(evt.ctrlKey && evt.keyCode=="81") L2 q' Y5 M: j
{ 2 G( S. S) L0 v" p; `# ]
CleanHideObj.on(0,1);- z3 E% E& T+ I X6 K9 l0 \2 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; P* V7 G0 `7 ~0 m0 |4 Z 8 ^8 U g) b3 X2 V$ G% z# A
}
/ N0 R9 l4 t7 B1 Y5 C2 L. \# ~ } }2 Z4 Z* j- k9 V0 b
document.addEventListener('keydown', keys, false); 6 _* h9 R4 j# ~2 b0 ~
GM_registerMenuCommand ('Clean Hide',
( I" O+ {( d1 E/ F x: |function(e){
' \! D7 l# G( ?& R$ wCleanHideObj.on(0,1)
$ K7 n& q! w: _! {2 I, d8 B5 Q3 aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 o: Y- O! C& T6 a2 T; j. z& `
});
0 J4 n1 x: n3 ? |
评分
-
查看全部评分
|