|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* S$ n1 W4 }- B+ q5 R5 ^. x. Q8 M+ `* ?% ]' U, I J0 J
火狐插件,用猴子5 p) s, l7 Y% l7 I- O* ?' n
8 e' r+ a$ Q2 _# I! \: e" |
var debug=false; : R! ], c7 q8 ] u# x8 P
var CleanHideObj=new CleanHideClass(); J9 v+ k; N$ i! M- k3 W4 F+ E- Z! \
- ]9 s# u: ~3 w5 W6 x2 Mfunction CleanHideClass() # X2 V1 U- R( x, W5 U# ?2 L/ F( _
{
3 ^+ N( p) U3 \0 A 6 \0 z, S$ l( ^) I- K& w
this.on=function(id,bMZ)% e( v) N% z* L: {5 a4 Q* j
{+ N' N0 c* ? g
9 m2 ~( K" | w4 P" Y if(id == 0)1 p2 h: N! e, H/ m% h0 y
{/ W+ `) G. c7 K; q& c( h1 K# k
var page=/* document.getElementById("content").contentDocument */document; O# _' V" a8 P
this.RemoveHide(page,"span");
: l. l: i, U# \; [ this.RemoveHide(page,"font");
- ^; i9 y! w+ [" ?' r this.RemoveHide(page,"div");
# ?% f& I7 j0 y4 e0 e& z this.RemoveHide(page,"p");/ R. `- }: `# U3 j+ ~ N
: W) F/ N. F7 z2 o3 I/ M
}
- Q7 w/ R. C2 A9 S0 W) d9 ? - p. P+ V3 h$ U
}& U6 q: z6 E* P4 a5 L* @
this.getobjstyle=function(node,prop)
' a6 ]; s& w+ I3 J- q {
/ l4 B% C3 d( Q7 T* ], F5 I try) f' F; T: Y% B0 S6 `/ P
{( Y8 U( X# K1 _- M+ W5 L& z# {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); a' |! O( G) X) y
}
& T# G6 f* t8 J, G catch(e)
( |, w. }9 ^, G) Z8 o* Z! y" \$ H {
. `6 F8 g( ], V if(debug): }* B) K6 E& n% D! _6 M! C
{
0 m* s8 D/ [+ a alert(e.message);4 r% J5 }. H' S
}
+ }6 n8 ?" H% G0 q% b" K ! U5 ]) X# X/ ?3 C1 l
return "200";# @2 F5 M& L. a- E, X1 X
}
- d6 o8 @8 T% L1 A9 a' ` }3 W- z- _' t* w
2 Q, H, n8 _; V, E7 g
this.RemoveHide=function(page,objname)
+ i H; P) C5 t8 I q2 z; G. [ { r, P3 W2 t+ X( k; B
try
2 e: A( X; r3 Q+ s% } {
+ H5 D9 k2 ^! E& O1 | var minValue=15;8 [7 I. l5 \* O/ M* M6 w9 J
var objs=page.getElementsByTagName(objname); % A' d5 i& a' U0 k: O2 H
( H( K2 r7 U: w1 f
if(objs.length == 0)
; J1 L& [* I. l {
4 ~4 J* L0 a. Z j: s: P, g& [$ p if(debug)/ H) i( R3 ]7 s# D3 s7 n. z$ h# M, ?
{
9 y, k: Q, Y, @6 T7 a2 \ alert("no object found!:"+objname);5 P9 P. B2 R6 s: M
}
& s$ }7 ]. B& \ G9 T3 ^1 S }
9 S5 p8 D' f$ g( Y x" R else
# j; U( u1 [- u* Q$ W6 S9 X {9 O$ ~* q* l3 _ A$ L) K6 Q/ `
e6 [5 f4 ~' N( j5 f for(var i=objs.length-1;i>=0;i--) " F/ m0 y7 ^8 m* p2 M4 `1 H: R6 U7 L8 n
{: ~$ R. l2 K' O2 w% y
var node=objs.item(i); - r& N0 |/ S1 f3 ^
# X r e, g" _1 n6 z# s1 s1 p
0 _" \/ I( F- P0 t6 [5 [0 {! d
if(this.getobjstyle(node,"display") == "none" ||
) w) u1 a. _3 [4 a2 q this.getobjstyle(node,"visibility") =="hidden" ||6 i3 u: _8 m* N7 C8 T+ }
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ \9 t, l2 J# d( h# E8 k {' _4 S; ^) m; G, _$ K
if(debug)
0 Y& F2 T7 ~/ r: G# b/ |" H {) f0 b& b: ~) G! D, c/ N, \4 @
alert("remove invisiable!");
4 l! ?' j2 [: K }
/ I! T$ Y, e2 ^( R node.parentNode.removeChild(node);1 A o, M* j7 X
0 f2 H/ e* g9 N
}
3 a1 q3 P5 N0 j( V3 T else
, L0 Z- D! T! ^ {
! A/ N: {$ p" v3 R0 W0 ` if(node.parentNode)
$ y/ U. D. ^. F- w! f* p {7 [5 b! Q" i: p1 N8 X; f' u% o
var orgNode=node;
/ k# W7 G2 F2 a5 R- p+ x$ d4 @ var orgColor=this.getobjstyle(orgNode,"color")1 b! z; [0 a+ l$ B2 |" ]* K
var orgRGB=getRGB(orgColor);
: O& v. u& z K% ^" a! B0 I
' M* P }1 n/ P+ Q1 j var parentNode=node.parentNode* }$ x3 j( @+ K# ^8 N
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' _" f5 [( f- c& ~* j. G; ^ ( E5 z4 D" x: x _( E( O
var isLast=false;4 p+ G% D/ Z& H7 _
# [2 k5 Z2 h. j% Q
while(parentBgColor == "transparent")
6 L5 c' N0 M1 T( h' Z; S {/ @3 f' L$ n1 u) z
5 J7 L2 T, D8 t
/ a! p/ z" q \+ A7 y5 L3 K; t# P; ~$ l if(parentNode.parentNode == null)4 b$ g# n- ?! S: m# V$ k. U- f3 R
{/ q7 v; S; w. O F9 S m% p& `
isLast=true;
+ M3 J0 d* d& o; r$ ~ break;
" b* o, L+ H S& O0 w1 _: f }
) l" u( x: M0 z1 }$ I! ] I parentNode=parentNode.parentNode;& L3 A) C6 q, F9 D3 G% M7 {2 ]. z
parentBgColor=this.getobjstyle(parentNode,"background-color");
& p' D; c& X8 Z& A* i9 s
( t& C* w7 D9 v! n0 C; E9 t2 o if(parentBgColor != "transparent") / I; c, h4 |. A$ j
{
* w% |! g% \8 i+ V5 P break;
* V4 w7 g$ z( r. q9 J/ ~ }
4 ^8 C) }2 P5 @- k2 o L" O# c }: ~% p) W: g6 m; a9 a) a1 I
if(isLast) : Q- Y( O) |# E! ~* C+ ?
{
: b4 P5 q9 U* M3 m% a if(debug)
" N( I" d* t$ f( Z% ? {9 n" G5 Z- A& k
alert("last!!");
$ t P* C3 r _# U j; [# j }' t& N: ?, m. P% Z8 F) f o7 K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( q7 v0 P; P# K8 B* l0 d {2 S: J2 K1 f- {4 t- {
orgNode.parentNode.removeChild(orgNode); ) O* ]6 U" b, [0 N: ]
}
* I8 R7 ^; S m3 \6 o9 Y' m }
7 [! o( `4 N2 l' k9 R' p else
( Q! n1 |5 C/ Q8 s. Z2 \# e( a {/ G9 f# q$ [" B! V1 ^4 m
if(debug)
u/ W, A3 M3 |7 ^4 p) W {: c" \% ~6 i6 G7 f
alert("compare color and parent bgcolor!");' ?6 P& _9 A1 t6 e
}
$ v! j& V# ?+ M( Z parentBgRGB=getRGB(parentBgColor);
8 }; {! Z& ^# F) C1 I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( `; K1 t# L7 v% r
{
8 O8 d' U' ~# S; U3 c orgNode.parentNode.removeChild(orgNode); * ^6 w' f/ Z4 Y- X1 a+ D
}
3 ?- Z6 K4 } L/ U# i }+ H4 B2 C: Z4 k& F3 w& u( v3 U+ y
}
' H% T2 Y5 f3 u: o }
& C/ _) V! {, l2 W# } }
+ z; T$ G* f {& ?5 P$ w }, r: p) b! G; {
* A: ~1 G% m, s3 r2 L$ L
2 k2 K o1 [+ Z
var itemFrames = page.getElementsByTagName("frame");
& x ?3 a7 E' b+ [ var itemiFrames = page.getElementsByTagName("iframe");0 N! M3 P7 o2 k) Q6 x b+ Y2 h/ B
0 c, I' y3 T! G- k: j var frame, iframe;
5 q. D/ x8 p7 l* N9 D$ ? if (itemFrames.length > 0)
. e# K0 V0 ?# G- [' I$ j& v5 b {
# N0 Y. P1 v$ d, | for (var i = 0 ; i< itemFrames.length ; i++)
+ S: A4 g& m n R" K {
1 I9 E+ t3 e9 _9 J2 d+ F4 } frame = itemFrames.contentDocument;
3 O5 }9 n+ x" t2 x8 Z. r this.RemoveHide(frame,objname); ( q- o) T! F& w+ D9 q/ z1 b) r" d
}
2 B, Q3 C1 T3 ?- R5 ~4 W }
. ]) N) k5 r2 N: [/ B if (itemiFrames.length > 0)
, N Y0 d1 ~. X6 D) z" f; G7 p {& N$ b* R) T+ E& Y, ]1 W9 R
for (var i = 0 ; i < itemiFrames.length ; i++)
* M/ q2 u" H: ?/ r {
" U4 d! c: n0 t( Y iframe = itemiFrames.contentDocument;' J% B: z6 v" {8 ^6 {3 Y2 W
this.RemoveHide(iframe,objname);
' V* L. ]& k/ R! I I4 H3 D0 l }+ U; V* Q3 c" i& O# m6 [$ N' J
}
* B! x) ?9 k* J; ]( ] }6 Z+ s+ Q9 m5 E4 V- u5 F" g$ A
catch(e)" f# ^+ y! I4 X. S
{% R9 \, U; I$ A2 O8 h% O8 x7 O
if(debug)
$ s. b. J/ z7 U/ x; T, r' B {
: u3 G& D/ D) _* m( C* v' c2 \ alert(e.message);
% r& y$ x) b& u! I8 X7 I' X1 G }
# E7 [/ d8 ^5 C+ S9 ~& v }
$ C: m5 |- L4 j& c }
; w& W: H1 F/ ]* u5 N' w % t }8 y9 J- E9 G. l3 A8 _
}9 [. E6 H3 G" j8 y& m
O2 s0 a! F! ?1 v! V% I
function getRGB(colorString)7 L0 p' M4 s: R# u; E, z
{+ G! L6 r" U3 C& a$ l6 G7 w
var RGB = new Array;
" U6 r* d) F' E! }9 U1 D var tempSting=colorString.substring(4,colorString.length-1);
3 H7 \3 ^* ]5 J; Z$ c var tempArray=tempSting.split(",");
' Y6 r/ F8 i* s6 O! W3 U$ @$ K& h& d0 c& C0 L. I; P g/ r
RGB[0]=parseInt(tempArray[0]);
0 A, O+ K) u5 l' ^7 q RGB[1]=parseInt(tempArray[1]);
: W; O4 H# M# H5 W' v9 z RGB[2]=parseInt(tempArray[2]);
& x. B+ v6 b: c8 B+ L Z* ] ]3 H
' a8 n/ E& G8 ^$ |; ^$ N$ q( G0 R return RGB;$ x# H" C6 J# H
}
. g* |! K. r& ?1 t8 I; efunction keys(evt)
6 o/ T9 V/ W3 } {
4 l2 K [2 m; y5 I% I( T# M if(evt.ctrlKey && evt.keyCode=="81") 8 l/ P" W5 _3 }% d K+ r: \
{ ) P2 a7 U7 t" ]
CleanHideObj.on(0,1);# J2 h$ E) D. z: ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ q+ v5 s* m8 U# N$ d% C |$ ~ & P) J6 @1 v8 X- } I+ G- @
} * [* Z* n: h/ h& h: b# \
}
/ Q- l1 w; ]9 P2 P" Q( [; T: Zdocument.addEventListener('keydown', keys, false); ( r" I- d5 Y5 [
GM_registerMenuCommand ('Clean Hide',
. g% c8 T5 W; L0 ?function(e){
6 z6 t& D5 \" i* v% `# wCleanHideObj.on(0,1)$ E6 w9 G6 S% z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; @9 E. `; E+ O" l});) `& s/ I( g s4 q2 d2 k
|
评分
-
查看全部评分
|