|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * t; I/ r/ u$ g5 |
% P; N" }) b% I3 Y火狐插件,用猴子
! |0 r; m7 k# E" a
/ |7 v( q7 z6 L, wvar debug=false; d' h: D) G9 z1 ? {" @
var CleanHideObj=new CleanHideClass();
1 H. _. T9 _5 r) C
+ ^; X6 ~0 p; f- @8 Dfunction CleanHideClass() 8 ]6 E2 E) M5 e7 Y0 b' E
{ 1 i$ B6 C! z2 |8 `2 m. `4 ~3 X
, [" @: t, W- R+ @4 y this.on=function(id,bMZ)
# K1 ^- y5 u, Z, V; I {$ X( O6 G3 W6 d
, |: ]- }' K; J if(id == 0)3 v$ ?' Z/ @0 f; h$ L
{
5 k. X7 ~/ F, w! G7 ~ var page=/* document.getElementById("content").contentDocument */document; & l2 b6 i: @* I, U2 h% i+ A3 q5 d
this.RemoveHide(page,"span");
; u' t# q, P8 f this.RemoveHide(page,"font");! J/ \) {1 f) ~6 o5 v) L2 ]* {
this.RemoveHide(page,"div");8 f& O- Z- {0 ?3 H
this.RemoveHide(page,"p");
7 F7 U9 ? Z+ n
0 f+ [, b9 u7 ]: y F3 X+ `, H }* \/ L6 E7 _6 `2 C6 C, G* W6 N
7 a D: ?, b/ ~" ]4 G. t- g }, L+ Q9 I3 ?! c
this.getobjstyle=function(node,prop) B$ l1 J" q) v( P: a/ Q
{
8 J4 U+ j* n H% B7 J try
" t" w4 f6 { D2 j' b" n" w9 y {$ t0 r" X2 x1 _( ]8 G6 U2 m$ f" y6 h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ u( {' C0 r. F) ~& @3 a0 k }$ [/ ?. M5 N! O6 V
catch(e)
6 Q, l6 K. X$ c {" v5 D6 G. v% V4 |( f) Q8 ]$ z, T; N
if(debug)) J* |2 |$ k# }% B. f! N
{+ i6 {- X3 |3 ?
alert(e.message);
3 {+ ]/ z! o$ E) W) @. E( g; S }: E5 L2 }* c* N/ b; p5 P& M# T
2 O+ m R1 d; z6 d6 a! D I return "200";0 Z' z: }. O; W0 o/ ?
}
+ X3 _# k) Y! e/ W }
B2 n; l! t+ v2 S+ }+ _
) ^; L) ?2 v! K% S; _1 E this.RemoveHide=function(page,objname)# ?- [% {( ^& Y0 ]9 C) Q6 n
{8 C+ f, ^8 h" Q' Y( @3 r: B
try3 [, f8 l" m' g8 L8 { w9 `
{
5 x/ {$ D$ C3 ?' b+ `3 A var minValue=15; Q& R+ }4 B3 b. V: D
var objs=page.getElementsByTagName(objname); * ~; w, n- | ?
: V3 {- e0 v+ l! I# J! w. }1 g
if(objs.length == 0)
/ J0 m) z/ s9 c' w& W+ G) Q {
2 v$ `/ D4 a4 \5 m* N if(debug): ~. ~# j* t2 c5 R/ g
{
( f, R A5 k1 S3 L* M- P# ] alert("no object found!:"+objname);
9 @7 E$ `: B; M9 [ }8 Z9 O: h5 ?+ \
}8 @( Y1 b, b5 C; h! H
else
8 O3 X( t& M; c5 S' _) o# } {! `; Y5 y3 C4 G( T- B" A) f5 F
/ i$ F) F/ F# L8 ]9 C
for(var i=objs.length-1;i>=0;i--) ( C: q* Y, h- \
{
6 F9 P2 I& e( b% q var node=objs.item(i); + A/ q2 v- L1 h+ z
* Y8 M& A3 @, n" A
$ S8 d* f b2 L6 C: ]3 ^8 j' N1 u if(this.getobjstyle(node,"display") == "none" ||1 a' V; ?) w# x& H6 v% `: i
this.getobjstyle(node,"visibility") =="hidden" ||2 G* ~! j7 Q. Y. L
parseInt(this.getobjstyle(node,"font-size")) == 0) }. c4 K! H- J
{* l" \! s% Q, J ?4 g# t- ^
if(debug)% c% b: o* j& E# K. e, h- B
{4 x% a& a1 ]( W
alert("remove invisiable!");
B8 N& |( }0 c J, d) H }+ `) d# C. z% `+ H; B- n
node.parentNode.removeChild(node);
4 x5 s# Z! j* a1 f( f4 Z) T7 u : o& j2 I8 Y1 T5 m
}/ J2 c6 z$ A3 g
else
+ P( K. `3 j6 R: Y" R- Q9 g( O( O1 w {# J/ T+ g6 o2 x5 m' f5 {
if(node.parentNode)
: \7 M6 d% h9 J1 x* P1 ~ {% }0 ]2 @4 Y$ g0 m0 c+ O! d
var orgNode=node;" z/ f: U5 z& F$ ?
var orgColor=this.getobjstyle(orgNode,"color")2 [6 N) p0 F6 y4 X3 f
var orgRGB=getRGB(orgColor);
( u# g9 f0 Y% Z0 }: _" _ w
# X1 d- Q3 p7 a8 D var parentNode=node.parentNode
; e/ {, {4 r+ H3 ?8 ^: W var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 M: E+ T4 V: d: t& W
! K8 A2 P8 X2 a9 e! [ var isLast=false;% n- K" X+ b$ f. h) B/ ~
: L- s: m9 D6 _/ l while(parentBgColor == "transparent")
& q i' s& y3 D, L/ F {- E9 r+ o& l/ `2 O2 h3 X
- `! }! ~ [2 W
7 n s! a! j; C1 ] n- n% |" R if(parentNode.parentNode == null)
/ P" _$ X3 s/ B2 P; y; a" [ {
) |$ ^/ Q5 s% E+ D isLast=true;+ ]1 {3 f3 ~" M5 a
break;$ u# o h4 l: G& A$ E
}
0 g) ]* K1 g. P$ b3 [/ ] @0 W parentNode=parentNode.parentNode;" W5 ?/ N. T- e& p' K/ X8 [
parentBgColor=this.getobjstyle(parentNode,"background-color");
s* N% Y* t9 a: ?# y$ b
# U- F! _4 y7 J$ P- H3 X if(parentBgColor != "transparent") * z# B4 D* i. i$ K
{4 p- O r) O8 M% N8 h M& h T
break;
3 J# o. P( J7 x }3 D5 T5 G$ h; E7 e: i3 {
}
& `: e* W; f. `8 S: ~8 x if(isLast) ! U: [3 z6 N( N; A: F2 \
{0 F7 E1 i/ L" v9 T
if(debug)
, l; @* I( y6 _3 L- D {
! X- d/ X4 q0 @( p5 _ alert("last!!");7 J2 q! _3 ]# `' c1 ]+ p
}
. k5 R8 |+ I" N; S7 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! G* @) H& C! C7 V8 M( i8 A {2 l W8 ~5 {) c
orgNode.parentNode.removeChild(orgNode);
8 K ?4 ? D' j }' ?+ A* T- B: f3 |' Z6 ?
}
6 ?) n1 m, ~/ l& W else
9 C8 @0 G: D6 y3 h/ k) f$ X. j5 C3 D {* {% Y3 t! U: o% x
if(debug)
; B+ C4 l7 [; c, m W1 J$ s# t {
3 _4 _0 M0 R) G. H# n- l U9 k* W alert("compare color and parent bgcolor!");8 ?* a) H- B/ e3 T' L; Y! a3 X
}* m& C) R- R6 Q& n& x; S4 w$ Q
parentBgRGB=getRGB(parentBgColor);- f2 G6 A; s# J1 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, [3 l* s7 C) p6 E {
$ Y7 Q( _4 j, u+ ]2 M5 I orgNode.parentNode.removeChild(orgNode);
0 l* q, |7 _3 m6 A }3 C, Z8 C' M# k+ e1 \
}
' z8 ]) _+ T; J3 C4 F) ]/ p. B }
B q- f7 r* v1 F; @* P }9 @ d9 e9 j; h# g
}2 R# i, D, Q X- h9 ?- ^
}
: [- e5 d. f+ ]9 e
* H: q. M1 d/ `+ i1 q% K
5 Y5 |! e3 c2 l" ` var itemFrames = page.getElementsByTagName("frame");6 h8 S7 [0 h j( j: M4 ]0 y, U! I
var itemiFrames = page.getElementsByTagName("iframe");/ J$ \& I+ T, t; y8 h" X4 \
3 m& D( h9 e5 o" e! h2 O: C
var frame, iframe;4 @* b. Y$ ?# K- ~+ G4 K! Y* n
if (itemFrames.length > 0)
3 l8 H* f5 P/ o+ f" A0 ~ {# O9 J1 w! t2 q
for (var i = 0 ; i< itemFrames.length ; i++) ) ]% r( V. K1 ?' X" V
{" n$ V g n( f% ?; Q
frame = itemFrames.contentDocument;6 B! V" @( x+ r3 {1 J+ \0 n) m6 J
this.RemoveHide(frame,objname);
% K" N3 p/ `# W9 E1 C6 ~1 ]) V }
G Q z) j" m) S* ~8 K/ I) v }
9 F" V8 s2 i& f: } T if (itemiFrames.length > 0)
/ w. R, E6 Y5 K* b; n$ U( s& H {
0 O/ c' ~9 | s* \! y2 G! Z for (var i = 0 ; i < itemiFrames.length ; i++) 5 W# d2 x9 t1 D, U5 P7 W! }
{' Y. `" V# l$ L k8 L" X
iframe = itemiFrames.contentDocument;/ |5 k9 x! V: Y- G. C3 K4 [
this.RemoveHide(iframe,objname); . {2 i3 t7 [1 |/ B
}
: Y0 L! F" N% _8 S, } }8 @0 Q: |7 }, b0 N2 s' J3 Y1 L
}8 k' `8 I- ?& s: Q
catch(e)! D/ s* P) s& g1 C$ m. u
{9 _9 k5 k0 F# ^2 I, @
if(debug)) C) a; P! a3 M" b
{
' n5 N* F9 m5 _7 c( M: Z$ J alert(e.message);
& m4 F1 }; `6 Z) C) F+ i }8 V, E; G3 }! V+ j6 R* \) i& O
}& Q4 U+ Y5 X% j& t6 \4 I4 n
}
, h; b7 D+ [, p * t9 C$ C7 }: I2 ^ x9 J, s5 P
}- R' m+ D+ ~& b4 s; c
! t8 z0 o$ r1 ^/ u, r/ ~
function getRGB(colorString). o: f4 X; ]; z( V4 V% f
{9 Y x5 _2 z' Q
var RGB = new Array;
8 l- I5 Q" d/ `$ T9 h var tempSting=colorString.substring(4,colorString.length-1);
2 I" N5 J! Z6 f9 J* J* Y& J7 H7 F var tempArray=tempSting.split(",");# a4 G9 Q& [: l" E+ x7 C" E3 X
" Q2 }: d/ g3 Q8 [ RGB[0]=parseInt(tempArray[0]);
h" f4 y7 R1 N RGB[1]=parseInt(tempArray[1]);' I8 z4 c' H7 E+ s
RGB[2]=parseInt(tempArray[2]);
8 w8 w( a' b7 E% y- Y3 J4 C 6 ^' O! ]! R3 w/ f3 M; y
return RGB;+ c2 |/ x7 S* K& E# F6 i
}
/ p6 q# ^/ _, u8 [5 F6 x8 vfunction keys(evt) $ m5 Q( { c" f2 h
{ 7 ]2 |' e- L& _
if(evt.ctrlKey && evt.keyCode=="81") ! k: ?: i+ J+ g$ A6 Z; p1 d8 P
{
& O6 Q7 J7 M! I# T CleanHideObj.on(0,1);- } D* a+ v/ i2 f8 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
{/ l$ |: {- c6 H * G% x) f$ Y9 _" s; ~
} g5 F% K2 ?3 s- n1 m
}
. H# f: Q7 ]/ o+ Udocument.addEventListener('keydown', keys, false);
2 J4 L3 `6 p# f5 ]" {GM_registerMenuCommand ('Clean Hide',4 ^% h8 m2 U' ?1 |
function(e){8 o& p! Z) m8 V# p: H( t5 }
CleanHideObj.on(0,1)
# }: \# C$ \- P1 T/ talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 _6 f% q( b/ B# ?3 x% N, n
});
7 d; C" f) a3 Q5 _. } |
评分
-
查看全部评分
|