|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* K# @( F, @2 b8 B$ U$ U
' ^/ p! ]3 b3 @( h8 N% q火狐插件,用猴子
$ L0 G, r+ G6 |4 N" }' c+ n- Q+ `, X2 p u" b( w% ?" @, A
var debug=false; ' w/ {: u5 t2 {* o6 l4 j
var CleanHideObj=new CleanHideClass();
5 U2 U) o: }( ~6 I$ w# m4 X4 n7 |4 _6 d P9 g
function CleanHideClass() ; l. ^ O7 K- g7 e) b/ @' `6 ?
{ - v/ r5 v! p3 m. N" u3 Y$ k
# r) V/ E5 y2 M this.on=function(id,bMZ)
$ ^0 i# F# g) o {4 m, W0 J$ d1 i
* Z* k) p! |; g) n9 T
if(id == 0)) F) s( F7 k/ K, c, r1 J0 w
{
. }4 O- h9 M1 m var page=/* document.getElementById("content").contentDocument */document; 1 D" K* F. Q+ L G* s3 Z6 ?( g" t
this.RemoveHide(page,"span");
" k+ X) G: A7 i9 Q this.RemoveHide(page,"font");; t( q6 k/ g, g
this.RemoveHide(page,"div");
7 @& J4 ?4 w. \/ K7 N7 e+ I! {6 ]7 B this.RemoveHide(page,"p");4 }' R( H7 m: g+ ]4 Y% }
# N+ o8 i H) T } K9 h `+ G9 W- u
' V+ S8 Y; ~; c) ^) F& J! y5 f
}1 S3 w6 Z- u( F
this.getobjstyle=function(node,prop)+ V8 t+ j1 p9 E7 y7 P4 G
{
, p1 Z# G, f9 R3 f try. U% w) M7 [' }6 B9 ~
{
* A& X$ g) z1 O2 k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- V* c- I4 E/ P
}
9 m* d0 T# H6 g1 C$ q8 l catch(e)* V! n, k2 d3 p! N& F" ~& \
{( S7 c5 k% j& K1 s2 `
if(debug)
- ]) O* E! v$ W5 Q7 L {
: ^' R* [: {# X& i$ [( ], o' | alert(e.message);3 m/ v8 A' Q$ V/ q4 J- {! X
}( l* h; |7 [" ?* T1 H2 H4 p
- _1 O8 L; k& j$ b- z
return "200";
& ^' v7 a; X1 }2 r- W }
# I& m9 {; |& _* A }
o7 u0 Q. b4 O* B" A : e+ b/ u5 Y0 a" @- p! P
this.RemoveHide=function(page,objname)
0 A/ q6 }8 Y/ X" |6 H! b( p& ? {" u5 j Q! q0 U
try
7 T+ _4 C- e8 L8 ?: ^ {
6 A; t3 }; n) T& t var minValue=15;
# v, {: }3 S, ^0 { var objs=page.getElementsByTagName(objname); , k) s6 i; j: y
2 ]) |! k. _' t$ \7 i
if(objs.length == 0)
! Z7 w4 ?! B5 g @& J/ R; o {
1 N9 k2 B8 `" h if(debug)
% ? r/ a/ [# e' ?% q {, O( `; l% O* k) s& \7 B
alert("no object found!:"+objname);- r" p" q5 q9 G
}
' a2 J. p: K- P7 X }7 J1 {3 R: w8 K& @' Y+ \
else
. _, X6 j5 @1 V% h {
+ h% y3 }2 ^$ m3 L( N1 x* T' A* [ + j8 S% I1 o. B0 D. {! s3 R3 A4 e
for(var i=objs.length-1;i>=0;i--)
" F6 v' u8 d; z2 p1 m2 |3 e6 v& | {- I( U6 |7 w8 B- x& B+ Q
var node=objs.item(i); ! E0 f* o. U- g' J3 W W2 C: K5 C
# \4 W; ]% X! n" P3 f2 h4 F ) h3 o& C% a6 E
if(this.getobjstyle(node,"display") == "none" ||" w9 ]7 W- C& K. M" d
this.getobjstyle(node,"visibility") =="hidden" ||
" J! ?* ~1 Q5 L( U7 @( u% n" \ parseInt(this.getobjstyle(node,"font-size")) == 0)
1 ]3 c5 K" N$ F3 ]- s/ { {9 ^+ t2 ^8 J: a! R5 v7 M# M6 D
if(debug)( P4 S, _0 G1 J' p+ [5 H& u/ e
{& ]. m! ]* D: a1 R$ I1 }
alert("remove invisiable!");2 J# l B# C% ?0 ?4 _: |9 p# A
}7 P! @9 g3 {( [
node.parentNode.removeChild(node);6 x# I; ^' |0 G5 l$ U0 l4 M
; H& l+ f( N& p4 L4 ^+ ` }
0 n# y& ^2 W Z8 n else
9 l$ U" E; ?9 {) u- U {% v/ y/ V4 e% a$ H! M8 H9 k
if(node.parentNode) 6 {8 O6 K% o% t, f" t
{
, A6 D/ z8 E5 C5 C1 g: j5 ^0 Q var orgNode=node;
2 w9 q1 Y- A7 P var orgColor=this.getobjstyle(orgNode,"color")1 ] A2 }( [( a3 k7 O# w
var orgRGB=getRGB(orgColor); 6 j' ?" \2 Q3 ]: f9 C; g0 ^7 h
G' V* V% ?6 n var parentNode=node.parentNode
" {( |3 C( c1 ~# M var parentBgColor=this.getobjstyle(parentNode,"background-color");! c& q2 n8 J; b6 t l
6 D- t. e7 w2 M) U0 s var isLast=false;
$ ]6 O# G$ d: b& \# y+ _4 C4 _
+ ]6 j: x5 |8 ]4 T" S( t while(parentBgColor == "transparent")
7 g, w' o& Y! [( f: ~ {/ P9 d1 e- E$ X( v9 ]! M
/ A5 n! m L8 H
, g5 J2 ?5 ^5 t* b% O
if(parentNode.parentNode == null)2 o% ^$ a( t6 M
{$ l8 t+ G; J( v! w! Z
isLast=true;" P# v4 ]; w1 u& |
break;& g/ l& m6 j# ]# s/ y6 F
}2 W. R& n0 x/ ?! E. r6 g6 K) M; A8 ]2 }
parentNode=parentNode.parentNode;
, F8 ]# S; `# c( e parentBgColor=this.getobjstyle(parentNode,"background-color");
, t5 [( v+ `( [4 B2 ?) s# ]& K o. Q7 @: D2 k/ G" ~( q
if(parentBgColor != "transparent") $ e+ w, x& {. N" J. {; E
{
1 z3 i( T% R* ~$ w' i' u% j* K break;0 X" K# @1 r' g: ~5 t. \
}# d2 h2 }! P, x- a/ `
}- f* J+ z. J; y8 T' `
if(isLast)
! p) \ ~8 I4 ~: _5 B5 n1 H {. T3 I) O9 J3 t" W6 ]! D
if(debug)( M1 E$ [6 n3 ^9 K
{
8 x0 j; l% m+ L5 v& N& M alert("last!!");6 [, [5 }/ Q+ f0 o0 X
}
- z& [4 h# X3 V# c* z6 ]5 B3 U& y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" f. F/ e" b4 ] a4 e {6 [3 K( i, [ _' }3 K! z: L; w
orgNode.parentNode.removeChild(orgNode);
~/ c" _& e- W9 ^3 ~ }7 P+ [2 k/ u) }! H [' K, |
}+ G1 l* S+ R" F+ ]) _
else n& F4 q5 N5 E
{. A- p! K5 W0 h. Q( ~, Q! w0 x
if(debug) ^7 m7 ^$ y" A
{8 Q2 P* F' ]2 n' S* d! W
alert("compare color and parent bgcolor!"); ~6 D2 X* o3 }. X2 D
}
: m+ p- I) {5 d P6 Y. p) o parentBgRGB=getRGB(parentBgColor);- V' \9 O! V& p% I+ Q6 v$ ~
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 i3 A) l% j0 k% s! r) q {+ @3 _& J! B, e) m" u
orgNode.parentNode.removeChild(orgNode); " h( D$ y; F0 U# }
}4 Y* Z8 F* Y! R' ?/ E8 [
}
& N/ a) p, {5 G7 o% |( H2 n }; t% z0 d. a# L
}8 O! m, a/ h0 D6 d" _' V4 k
}
( B( {4 t' o" s3 l }+ X: @ }
) ]: z- G* G( O0 q8 `# B 5 _3 N) p( p0 w* l/ @( v9 i# V- Q' L
4 |) J I8 U ^+ E* d# K; l; T var itemFrames = page.getElementsByTagName("frame");5 f# O0 @* J" ?4 u
var itemiFrames = page.getElementsByTagName("iframe");
4 E7 }4 l& l- n& k4 m f0 M! ]4 K
" {! _; c) I1 W3 b var frame, iframe;- O- g f- D& p6 @, E! s
if (itemFrames.length > 0)' ]; K' m3 I+ ?5 _+ r
{% U; [; {/ ] @% P
for (var i = 0 ; i< itemFrames.length ; i++) * b3 `( J: H2 j* O
{
i6 p0 p' G5 j$ }4 `7 m frame = itemFrames.contentDocument;
$ d; W q( [. Z: } this.RemoveHide(frame,objname); 3 L/ a; Z2 B0 a: k
}2 t9 P" B) y; `
}
# J6 ]4 n9 T$ U c if (itemiFrames.length > 0)$ Q4 W* J# t }8 T4 j( G6 e% b1 z
{
$ ?/ H1 G% B" a+ Y8 Z* L" \, c) i for (var i = 0 ; i < itemiFrames.length ; i++)
2 P; c8 i) x' v( B/ F% `& g {3 m/ B2 m- [# S1 ?0 _
iframe = itemiFrames.contentDocument;6 m; a: P, U7 z+ H1 G9 p) q) i5 M
this.RemoveHide(iframe,objname);
- z& e* @0 N, g& }3 t* P: y }) |" D5 c! o' z9 J' G( w' e' w
}
2 K6 Z) ^& c5 l }
1 ?, Y r, Y; j! B2 ^1 @# ?8 @, R catch(e)
" H2 }7 } I8 U! G; h {
6 E7 H- x, ]9 N3 b* m if(debug); W* D$ y: o: A* b/ x# Z
{
0 Y5 i' l, P! d0 v8 L! p$ a alert(e.message);
% S, I; e+ r7 v }
; Q# | D9 p0 Y6 t" _) } ? }
) f3 ?" m/ [$ m/ @1 B. k9 q6 v }- \- `" T. l6 r1 ]1 S8 ~' C, Z
8 u% Q% ]+ X! |( f4 c1 O& L
}
( s/ p4 ^, d0 j: l9 I4 c* u! L, o. @( k5 b9 D
function getRGB(colorString)0 v& Q( X8 f9 H1 q0 b) U' N
{# ^1 t: o# ^/ p2 G' d- Z. l7 O
var RGB = new Array;
2 f1 y. ~9 j- j var tempSting=colorString.substring(4,colorString.length-1);
% Q$ _- x F' ? var tempArray=tempSting.split(",");5 Y, k0 f2 _" y% s
. \7 }5 ]! O$ \7 R4 A; o6 A
RGB[0]=parseInt(tempArray[0]);! T1 I' T4 ]# q+ Y. O! g
RGB[1]=parseInt(tempArray[1]);
8 H& S" P) C8 H. Q* \ RGB[2]=parseInt(tempArray[2]);
: p5 D- e: Z& [, _: S 3 T: U! S; e& L7 c- O. @( d
return RGB;, Z& C w# v& V3 W3 R
}
+ H5 p: T- N5 H8 N$ U) ]function keys(evt)
+ F. {" \) T6 I {
) A# N0 G6 j/ I7 L) p3 m2 S if(evt.ctrlKey && evt.keyCode=="81") ( ~0 R1 m" m2 f: X# o) m+ q1 r8 h) P
{
2 U9 U/ ]9 |# j' f' ] CleanHideObj.on(0,1);
( e& K3 `. d: u4 f6 Q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 S. ?0 U" l7 u6 k8 Z, \8 s
; u: a F7 z9 e/ A6 I0 K }
" ], l l" ~% K: | } ; D/ C/ M/ V' j5 H# i4 F, v3 j- I, o
document.addEventListener('keydown', keys, false);
. b* {/ a3 d+ {: n3 o! _GM_registerMenuCommand ('Clean Hide',5 j0 F/ a' p$ O& Y5 ]" v
function(e){
`$ Z3 E$ k2 J8 a" [CleanHideObj.on(0,1)9 @8 I9 J$ a) t1 Y4 |# u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, R* }( K+ B: s9 \& `" c" r, T! ?});
) j. I. s A* v2 d& Q |
评分
-
查看全部评分
|