|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 b+ R! h" l+ S. |
# n1 y' y" Z6 N! }: w- }火狐插件,用猴子
0 n) e6 N% T: L& a" C' H5 D4 b* R y: T* E" X4 u3 q1 q
var debug=false; 4 o3 {5 M+ i5 k# f& K
var CleanHideObj=new CleanHideClass();
$ l% _) c) b% S1 z
, _1 C) J2 g" ~8 I& |function CleanHideClass() 4 f! B9 j5 ^" ?* w$ K
{
$ v: X9 R& U8 G4 n3 C
2 Y& g5 P, w! `3 Y$ i. X2 L this.on=function(id,bMZ)
! _+ ?! r+ N* k R {
* M* u5 z8 q: N2 _$ D; }; f 5 |2 ^, v6 M* r3 y9 {
if(id == 0). s; e; p4 z% Q2 r9 v
{. q( h, V B6 C6 b' Z) ] P
var page=/* document.getElementById("content").contentDocument */document; + Z1 ], w2 n0 `5 x) ~
this.RemoveHide(page,"span");# J3 ]8 O/ }; e( `+ N: [
this.RemoveHide(page,"font");+ a6 O) L; r0 s! i5 O% v* I8 c
this.RemoveHide(page,"div");
# |- q0 C: v d2 z! ?& R( w. P this.RemoveHide(page,"p");5 i+ e/ O A( `3 `
. B& R9 Y. O% d6 v4 ^ }
4 P( K0 @1 p7 |5 v5 h0 `$ f
& Q: a0 }1 }7 t2 {! ? }
?9 D: p. w' M' `5 M7 z5 N0 g this.getobjstyle=function(node,prop)
% n. H. b+ D, h {, H5 o3 z7 p: k$ L7 @
try
: O# V# H5 h( C4 ] {
( z1 J, }0 E4 ^8 e0 W return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 d- ?4 o0 l }. L }9 P1 Q8 O* P0 Y# I
catch(e)
$ O. v' j1 w# y {
* v8 ~& l% f3 T1 x# X( r3 ^( G7 U if(debug)
9 X" O. [: e0 b, k( o$ y( J {3 [ [' V! R- g% R. H4 E
alert(e.message);% l+ A0 r, d; c7 Y1 D5 V$ M; D2 R
}
( H( u( M' |1 t9 o) D) D, J3 r! J - i$ T5 c+ l6 t5 D# E y
return "200";& {' B9 w( d; e4 G
}% b8 Q3 x: U/ g* S
}% X0 b0 G! o: l7 o* l$ ]
: e* L9 _2 Y d1 A this.RemoveHide=function(page,objname)
2 y3 d* X6 a6 w) T# l. w8 V {2 {: f6 f6 c5 Q+ h0 g9 O- P4 v% K
try' ~9 [- `% N( x% h: I
{ D( ^; Q% x0 f5 x/ p! c8 w
var minValue=15; T$ z$ P4 C; H% c2 u. ]
var objs=page.getElementsByTagName(objname); E8 A+ E+ \, c; J# p& D1 |" M5 F
! A, c; J. h, W7 A+ ?3 I8 ]4 h9 p
if(objs.length == 0)
. A% L2 M q) P8 Z2 a* N {
, ?% p9 K; F* Q) n! \4 L' C# N if(debug)0 o, H3 D( X7 h- k* e v
{: T3 u! V& d+ h: k8 Q
alert("no object found!:"+objname);4 ]4 a* `5 K0 ?: H
}
' Y4 v8 f! J6 e" ]' Z6 | }1 P$ W. P/ J" ^, g! S1 f
else
1 k# B1 @! d6 N6 T$ [, m+ l {
, T( G% y7 N) v0 i. f$ |5 ~1 Y ) M7 i( W* |# _7 N
for(var i=objs.length-1;i>=0;i--)
5 T8 Z0 [) w! ^ {
* w2 K0 z; p9 U5 B q. L+ W) N0 f var node=objs.item(i); 3 S" S% O9 b5 L7 i+ p
, A4 i j. L* y5 K- r1 G D
7 v8 f$ D/ s- u) o. B3 g if(this.getobjstyle(node,"display") == "none" ||- h( K: F4 O0 E( s; X3 q0 u
this.getobjstyle(node,"visibility") =="hidden" ||
& [, V) e: J4 b) d1 a parseInt(this.getobjstyle(node,"font-size")) == 0)
( C5 ]) E X. T6 ` {) t5 l2 V- B+ [ K
if(debug)% s8 |8 |# Z2 j' x8 b/ s
{
3 b. I9 L7 t# M& N alert("remove invisiable!");
5 u1 d+ S" i8 F. g/ ^: R# b4 r }
. h6 w ^5 t8 ^, x+ k3 O# x node.parentNode.removeChild(node);3 }7 o u7 ~/ \2 W5 ^! K
6 e( v) @ X* P! ]: h2 M }$ f) s7 o+ B5 X+ O: s4 j
else
' R: |: [# c9 {, B- v {# b5 D' n. K8 w
if(node.parentNode) # `1 d; @& ^4 l7 A3 U6 a" @
{
$ r1 a( h* w3 J var orgNode=node;6 Z: @2 d& Z- [
var orgColor=this.getobjstyle(orgNode,"color")& G" ^4 p% x, l5 G b; _) r+ p
var orgRGB=getRGB(orgColor);
: W" `6 ?0 ~; Q6 X# o! Z/ r5 t
( ]( z$ u+ O6 m/ J var parentNode=node.parentNode
6 P: f1 |( g& M# Z; m3 e" g var parentBgColor=this.getobjstyle(parentNode,"background-color");: g- b" y: n- x; A3 a5 f
) J3 `: @+ h$ I0 a var isLast=false;
+ a) e; ^: e6 C( p/ S% F* X! M
/ k3 _$ f$ E" |9 B0 |+ P while(parentBgColor == "transparent")
7 t& G3 b6 `" X" O4 B0 t1 [ {) Q/ P2 M! W" N# G, i
3 y1 ~! P0 j T, Y: m 9 f0 A" C/ g) W' u
if(parentNode.parentNode == null)( K; B0 z% d" J/ I
{# z" k( I2 F- M, g$ L
isLast=true;' ~ U7 ]0 w4 X% f( q8 }; S
break;
7 H6 @1 @( w% l0 g9 t; {; ] }7 F( s" ]) _8 T9 k! L
parentNode=parentNode.parentNode;
# C" s: ]: p! @" n6 j0 U u7 M+ d3 D8 Y parentBgColor=this.getobjstyle(parentNode,"background-color");: J; A, J% \+ D- C' K" D
# o& b* q5 W0 P9 x% u8 S" }5 q) N1 o if(parentBgColor != "transparent")
6 b6 ~# B p e8 f$ y" p {
. u' S. p: I+ z; g% Z% c break;
) O/ `4 S2 q7 ~* b; h( l. H }4 k) b+ E$ M: r1 |; d* U/ [. H
}
, I4 I) R3 r# w% |3 ~) g* F2 i5 Y if(isLast) % e. w6 |1 N) }. n, n
{
5 Y& n! I. A. Z if(debug)
( J+ l' S5 Z6 P {( C3 P" ^ x t
alert("last!!");
3 v0 @4 W3 h' {& N& C$ j }
+ P# E! F9 v2 _& z) B* M) @) \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# P9 U$ a: {$ s' O+ L8 B' G( A
{; k) x2 [: Z4 b6 g
orgNode.parentNode.removeChild(orgNode);
/ R- d" F# h! P2 D }/ m$ T+ I9 O9 K1 N) p
}) [- t" i: H6 p3 n4 ]
else) J s% I5 M9 D3 }+ T5 }1 J
{
8 _. \8 p" _5 ]7 x2 |/ e, K7 F: s if(debug). w- u% H0 ^) v$ r" O1 [" z
{. [. m1 e% f# k. s4 \# n% ^
alert("compare color and parent bgcolor!");
; F9 b. w1 W( I' y8 J s }6 k- R, u2 H [+ ? w0 y: G8 X
parentBgRGB=getRGB(parentBgColor);7 N [" a" s3 Y* p$ L- V$ V8 R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 ?3 w, k% P, K {
) }3 ^( m4 m8 a& i$ \ orgNode.parentNode.removeChild(orgNode); 5 R ?2 J8 L2 T2 a; |/ H z$ D
}5 K, b' @$ `# b. b) k
}
: ]* G) j8 s# u- R9 P8 P( v8 u X }' R) _2 G) [+ T0 U; Y, u: `
}
( v8 y9 s& `2 Y l }
/ p% a/ C4 Y5 L4 ` }
3 p8 G' t3 q3 N( L5 T* C% g : [; d+ G* ~! K' V. v4 d$ y
2 V2 l7 _2 u0 r
var itemFrames = page.getElementsByTagName("frame");+ A, V F: \) O& a
var itemiFrames = page.getElementsByTagName("iframe");% D( p) q% B/ b6 T: w. g
( l" m5 H& e, _+ X% ^ var frame, iframe;
9 J5 e& H5 m% ^7 @7 l; N if (itemFrames.length > 0)+ o7 F- G- v; W, g: K, g
{
1 Y6 W8 w5 j5 T4 V% T for (var i = 0 ; i< itemFrames.length ; i++) * U- m! U" B( }4 f
{& ~* w5 G5 _' g6 R+ }
frame = itemFrames.contentDocument;5 J! D+ l+ M" m( N5 `
this.RemoveHide(frame,objname); . Z* H- N: u5 v J2 z2 @# k
}
" |# j- O- X! s9 Z8 R6 Z4 I( ]4 [' { }# r: [0 v! O( t/ ^
if (itemiFrames.length > 0)( o+ G$ X/ K& `: w9 u& B. D
{; Z- q" _) [, D5 `8 B: u, J
for (var i = 0 ; i < itemiFrames.length ; i++) ) K* t$ i$ M! q
{
B: j; E5 B& a' x( G' s iframe = itemiFrames.contentDocument;
! S! @7 t( R, e5 a5 W3 W' _ this.RemoveHide(iframe,objname); ) U' Z! J2 Q- A* } q7 W
}
8 |) V$ e' f. m- R* ^0 f }
% G1 Z7 V! b2 x; l6 u4 c7 h }( N' G3 X( K2 Q R9 d
catch(e)' l5 V( W1 u* a! F: w
{0 x6 D+ a' K/ b8 C) x2 i2 m: n
if(debug)
! _# }' I- @) { {3 M: \8 }2 `- O4 W/ f+ Y2 x& X m
alert(e.message);
. J4 n! N# ^) V% F; Z0 j0 x }
+ v2 X% z* N8 p6 a }
3 \9 g$ _1 Z6 P }6 o9 k/ a/ b$ }
& @/ C* g0 k9 r+ x6 N}
* G8 j0 T: s. s& o0 T: L, H% x" M8 F& j: f, f# Q0 F+ V& g' e8 k1 q
function getRGB(colorString)" G, l" A! L. ?: {9 Z
{' ?! m6 `: ]/ D; b9 v& f
var RGB = new Array;- i1 Y3 a3 X7 n* W* \, o' U+ f
var tempSting=colorString.substring(4,colorString.length-1);$ O. E3 |4 Z# B( C3 ^) b1 h* b
var tempArray=tempSting.split(",");
9 X p5 L$ c* A- R
$ [+ m0 Q! n; r% W4 R1 A0 a RGB[0]=parseInt(tempArray[0]);6 `$ l6 ^% U# M, k# q& J
RGB[1]=parseInt(tempArray[1]);7 T5 }- r. z. X* y7 w8 w/ G
RGB[2]=parseInt(tempArray[2]);- ^1 \2 _# Q- C6 S- N; h
6 @' Z# m# X6 D1 B% ~2 M return RGB;; @% u7 L3 I$ e& h$ p" O
}. Y h- d" h: q+ u O$ i
function keys(evt) & I+ ?) c( C2 O2 H; a1 Q0 R
{
/ b% P" h% H( J% t4 c if(evt.ctrlKey && evt.keyCode=="81")
& n7 \) p4 h9 E: K {
) x2 F) Y7 ~2 m+ Z) ^2 P, m7 R CleanHideObj.on(0,1);
5 p; R* P5 N7 h @; M0 z- U# d alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
Q+ y- l0 z ]& p# o7 S1 f
& H3 ^( W3 r! q: L9 k- t5 K }
; [ o' j3 u0 p; [0 f4 B/ n }
- p6 A. w" _6 ddocument.addEventListener('keydown', keys, false); * Q. W6 o3 y5 a2 ~$ U' F& z
GM_registerMenuCommand ('Clean Hide',( b! b; h/ q$ _ n# I) N2 Q
function(e){* G' y6 Y2 f; i0 {- h/ P
CleanHideObj.on(0,1)5 m7 }; u, ?$ \- J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. k& U2 S4 {/ u3 g/ t! h* j. Y7 a/ C});: S# y* ~0 n, U4 @9 a! J3 z
|
评分
-
查看全部评分
|