|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , _* V+ ]0 V4 j" P
- m/ R. a# l. T
火狐插件,用猴子
' o. h6 j/ l# V9 N1 F$ B' P
! X3 L; `* O& C+ h! o! K9 B8 pvar debug=false;
2 p* ~6 l4 J3 @" t4 {# Tvar CleanHideObj=new CleanHideClass();
! d) Y+ }2 O1 t9 ^, _
) p/ r8 g5 k4 ?) d' zfunction CleanHideClass() 0 P& r7 A& _9 }* N6 Q+ V4 U& j
{
8 E4 q! e; R* z2 t! `8 ~6 G, z 5 o. U: V2 B4 z5 K
this.on=function(id,bMZ)! z5 U. K: K) G1 B
{4 z$ R3 r, m! g0 V" o5 K8 c
9 i9 E4 i, _0 `; F& d" S% c+ L if(id == 0)$ [( N& M" @" I3 `+ i1 \4 Z m
{9 U0 q! ~& c% q1 k
var page=/* document.getElementById("content").contentDocument */document;
* ^- n7 g3 u/ g0 j# ^, L this.RemoveHide(page,"span");
: x0 K* p1 [6 _ this.RemoveHide(page,"font");
6 a7 a7 J$ Z* x# |) d# W$ G this.RemoveHide(page,"div");9 b4 w4 z+ Q4 p
this.RemoveHide(page,"p");* n: S3 \' P. D* y
! O T. u+ `; [# g' U# V( y5 ? }
0 A, N& @ }' ~# G. _ 9 F* I z0 S5 s7 o# }, l/ _
}
V. V, N5 ~# h, O1 X B8 ? this.getobjstyle=function(node,prop)2 F# @$ S3 I7 @+ A |2 o
{
" Y+ j z6 u( V5 X. c+ t2 ^- K try: t" Y$ a8 a9 ~( {4 u4 G( p! D
{ i2 z6 J$ E' c$ [& H& L& f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 P- g% q8 ^3 j5 R5 {! v: P0 m
}* p9 S7 f/ T5 E0 B- G: i
catch(e)
' u A5 ]# b* H' S {. A1 _' G# ~% B/ [
if(debug)
1 P7 b; P' S' Y, g/ D) b {
6 E% N/ V/ J5 j. a' f0 z alert(e.message);
9 \3 r0 X6 {+ D }2 w5 q& e1 [3 B, Y
6 M0 _4 I1 S, D3 s3 R" `2 ?% V% k
return "200";0 P+ i* _2 Z: L& ?9 u
}6 l5 B$ u7 _2 D7 n% I$ R4 [
}
# }" _5 x% T% ^ # n* M) _. R$ C3 I
this.RemoveHide=function(page,objname)
; P' O u: O, T! n {0 d& m1 N6 ]: C
try
' L# F5 d/ l! Z& u/ R% Z3 f; Q7 W {
0 s v: G! j9 { var minValue=15;. _0 B9 G. z* X' d
var objs=page.getElementsByTagName(objname); 4 J. ]( u" o+ [
1 a { h6 g* @; R7 j" P
if(objs.length == 0) 8 E5 J8 f- i, G0 \! I( T
{* C; z% R+ R0 D
if(debug)/ Z h2 W* J% u
{1 M M0 k$ [0 o9 b& P" O5 }3 h
alert("no object found!:"+objname);) O2 G& y: y. l% Z0 g
}
, s5 i/ d. n! T( G c" L. S }0 f7 h4 ?* y/ t7 t6 d1 p- J) H0 I
else
. `. M4 c8 N* q4 K! ^* K; G {+ \/ r4 y! S: K2 C) U# a
& K; g* p; n0 i a! ^8 t for(var i=objs.length-1;i>=0;i--)
/ u: @, U, [% K% I$ R- Z {8 O& H. }6 @5 s
var node=objs.item(i); - {# e- U9 E$ A4 p
: n/ E% G( l% u# X
/ H0 \- G# u; m, s
if(this.getobjstyle(node,"display") == "none" ||: Z+ {% ?8 @% A: S0 T$ o
this.getobjstyle(node,"visibility") =="hidden" ||! h# P' G) T& y* N! x/ Q
parseInt(this.getobjstyle(node,"font-size")) == 0)
. _" T' T- s7 l$ J% i7 K {! B, z$ O' t8 O+ {( I/ b! \
if(debug)5 h$ F" i% |9 b/ z# a
{
$ h1 o2 I; f% a4 g; N alert("remove invisiable!");1 k+ H# n- D' s) E6 `
}. I& @, j- ^' D, U6 b! W! h. {
node.parentNode.removeChild(node);
4 m& m. v w# d5 ?; I- ] 9 S* U/ z8 b$ I Q
}
i( q+ k6 J$ [8 w( C else 1 r. L' H! q4 `- H' k, ]
{- g- h+ ~, G+ u( W& ]
if(node.parentNode)
3 [# ?7 k3 E4 W2 ~ F2 y {
f/ h( R3 t$ x6 M4 l& T var orgNode=node;+ k6 B9 o6 ~& o: D" u. _3 a
var orgColor=this.getobjstyle(orgNode,"color")
! e8 G- |! w* `8 c var orgRGB=getRGB(orgColor);
) a! [. z# n1 U4 s 4 d$ o9 F/ [6 u: t
var parentNode=node.parentNode" A( _# L3 F) Q% ?( F. Z; a
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- e( W6 l+ \/ K9 T+ D0 Q) E
% {9 a+ ~: B9 n0 o4 v% P6 H var isLast=false;8 @4 C( S7 q1 r+ T
& t- n; s/ f0 D1 z# n$ Y+ a while(parentBgColor == "transparent") % c0 N, _2 V! Z. q" g: F
{
' p6 C: h+ w$ p# Z0 p5 M! F/ ~ 0 ~/ Y- W% P& n$ h2 b: f6 w
9 D6 a) X3 I8 |7 @: s
if(parentNode.parentNode == null)
1 Y8 I6 Y {/ E/ F+ h {
$ y# {/ D6 w1 T3 a+ i isLast=true;! @8 Z" q8 r+ `. h1 d3 ?
break;
) D) W p9 w1 M0 }- G; v. Q& X }: C# D" Y1 i& f. k: A$ U7 Y2 \8 k
parentNode=parentNode.parentNode;
9 B& Z( I3 j. |7 g5 G$ F$ w parentBgColor=this.getobjstyle(parentNode,"background-color");+ K2 L$ }: Q- b4 \
, B* \, _' b; ] N if(parentBgColor != "transparent")
/ a) P! H! U# { { g0 l D: t. d1 d! u9 K
break;6 W9 L9 T8 B8 s7 u0 r
}
& M: z& i) l W/ `' ^ }
# ~2 n: w3 Z0 O9 Q- d: t, X if(isLast)
7 R3 `, R$ F, n J& N% W {1 e, m) Z$ {7 H2 D9 E
if(debug)+ ]$ i3 I# l4 V/ h, o
{
, x X' m5 X. y4 [: e alert("last!!");
4 P- C5 J& N$ a/ r7 Q }& @$ ]! J5 N) z# x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 T+ L6 }6 k/ x6 ]! E7 n
{, `$ b: S* T! P9 [& O+ A
orgNode.parentNode.removeChild(orgNode);
& B" u! y' X/ Q0 g/ Y2 W# S }
' u2 q- i# t- [. X% w! R }
( H4 p9 q- K: w9 G& C6 I2 w else
, P; H( o0 [: X: N8 i6 {1 T {
7 r2 n, y0 o; e# o if(debug)
3 l5 `& x7 Y' v: M {
, a) w3 C( W) [* l alert("compare color and parent bgcolor!");' U: J4 x3 _" O P7 C3 n( Q
}
. K+ g d# y3 y7 U7 C& o: M. p parentBgRGB=getRGB(parentBgColor);
" n3 r/ h( l. |+ ^' C& O! v% M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 X9 D: r0 }/ H, B/ {& Y( m
{
6 q0 c2 m$ T0 w) [4 K1 o. G" O orgNode.parentNode.removeChild(orgNode);
* ~, O5 {7 ]" ?6 p5 N }2 ^0 G4 O& K4 u. U# Q) i! i
}5 i: \6 P3 h8 N* P3 r* P8 T& j& x# [
}! G7 k! |# N8 v( ~' `/ n
}
( c* }& f3 V6 W7 J1 U9 q }/ p8 i$ H5 E8 F0 g
}5 u) C, Y( L# `4 Z/ D$ b. B
/ X" t! D8 |, | u2 s 6 Y, c# t% ?( X: v
var itemFrames = page.getElementsByTagName("frame");2 j( E! a2 A% H6 C6 B- o" w. ]' G: C
var itemiFrames = page.getElementsByTagName("iframe");
: Y: P4 Y8 Z, u; g) S# s% j
: p6 u& z% r0 j2 A* J$ \& r, B var frame, iframe;
) N* k2 K2 P' E% e4 k1 ?; g$ c3 S if (itemFrames.length > 0)! d1 s6 J/ e, g: U" c5 F3 K( n
{
% P) t' G2 z% H5 y for (var i = 0 ; i< itemFrames.length ; i++)
0 Y6 f4 J. T8 w4 T {2 R4 N. N# t/ U! R
frame = itemFrames.contentDocument;
& \+ N) X& W) C this.RemoveHide(frame,objname);
/ i# Q: a0 m: h3 s' k, u! r. { }
/ v+ `) N2 s3 T, ~ }$ y7 F N8 l( ~8 n, a
if (itemiFrames.length > 0)
+ ~; `$ ^3 j' d, ]: {$ {) ~ {+ B/ y0 |/ n5 C. j- {' I* s* O
for (var i = 0 ; i < itemiFrames.length ; i++)
+ \ V" `4 }$ u: K1 t {
! J* o1 ~2 N. T, m8 C2 d9 X+ ]. p iframe = itemiFrames.contentDocument;" V" V3 z9 d1 I2 e: n* X
this.RemoveHide(iframe,objname);
, a3 ~3 A0 n; y k }
( X4 Y. S$ `, f5 D% B5 g }( Y# c" B! u/ s" o3 }
} ?1 N8 R9 j: L! x) T* C
catch(e)
a; i/ L8 o3 ?. ^8 W; V( O {* B, D, r( [0 J, X
if(debug)
8 _2 |6 z' P, g, H% M1 Q" J {
( q0 a& x& L0 n2 N* Q3 A alert(e.message);! ?9 @; V2 f \- H
}
- u4 R+ z B+ `) X' W }
5 } }2 s$ z( O }& ^! b( l' z- ~
) g' K& g" E/ e& V. {}' K! @; T5 b0 S/ Z; J# X5 z
7 L" V' X o% M9 j& u2 {6 t) b
function getRGB(colorString)
% E% u, [% r7 ?2 h4 d4 ^6 x! F$ R{
( F8 S/ L4 {: q9 W* e var RGB = new Array;" T4 Y; Y6 `) {$ V6 ?
var tempSting=colorString.substring(4,colorString.length-1);
0 N: Z; Q9 m' H+ u var tempArray=tempSting.split(",");
) J+ W) m0 D V3 b
1 b, H o) Z5 E) c7 U% e RGB[0]=parseInt(tempArray[0]);
{# Y4 N( M: r( X RGB[1]=parseInt(tempArray[1]);, r/ J- [5 I# M1 y, e$ e
RGB[2]=parseInt(tempArray[2]);
; L9 h5 Z$ m$ a( h
' F& d- W, Q2 M3 q return RGB;5 _" p* i! H( o/ E ]. i% @6 K
}
" u! C) \6 C9 r! V Mfunction keys(evt)
5 P8 ?6 L/ e3 k2 f) F! [0 c { . a7 T" C. n; z
if(evt.ctrlKey && evt.keyCode=="81")
( k% Y! t! e+ j) z- f { 2 K: U! S: Q- _2 J
CleanHideObj.on(0,1);- @; U# a$ p+ T0 H# R8 }' Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * n0 W f; N& S% @* \# u
( L- V* _. p5 J l } 1 R! o$ L4 \* k) M: G
}
& [( K' N! F/ l, X% f4 Vdocument.addEventListener('keydown', keys, false); 2 [9 x/ N# i& f1 w! w& c+ H4 o1 L- u
GM_registerMenuCommand ('Clean Hide',7 R2 b4 S1 V: x# N
function(e){1 ]" z R) o8 k$ d2 J' v! r3 D( Q
CleanHideObj.on(0,1)
6 d0 o( y0 q6 @1 aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 h! u! z L! J' s' |' V. `});, e. g9 ]1 ^ q% o
|
评分
-
查看全部评分
|