|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; V8 u d3 B; K; x4 {9 o
P; Y: P1 R8 q# {( b; M
火狐插件,用猴子
. G, |9 r3 B' g, z, N5 u6 X6 ]- [/ u' {
var debug=false; 7 _2 K% d( Y- D0 b+ R8 j& O
var CleanHideObj=new CleanHideClass();! Y: m/ W" c8 u% Q1 O- {; ^% c
# G" p2 g: ~0 U: Bfunction CleanHideClass()
, t! ]: S, V) b# s' f8 X1 j1 ?- @{
2 G% U' f( X: g7 `, D1 p
`8 A" T$ ^1 {5 o this.on=function(id,bMZ)
+ \! z8 z' k& {+ t5 V* f {$ p4 F3 v6 f; \5 ^8 j7 q
0 R% M R( K+ K+ {% Y w# }' z" G% J
if(id == 0)
4 e/ V o0 B% X {1 G2 b& [8 n3 j# J# y! n) W
var page=/* document.getElementById("content").contentDocument */document;
- u5 t; `: h6 P8 K& Y this.RemoveHide(page,"span");/ a: j8 f5 k+ g: V* R9 {
this.RemoveHide(page,"font");0 t7 g7 K: H+ T9 o5 K6 O
this.RemoveHide(page,"div");
5 K8 l* N6 H X; P) b this.RemoveHide(page,"p");4 D$ j# ~; a- }
$ I! i3 v) a" u3 n( q, |; f) b
}4 A3 n& q- ?+ N( g- v! Y% D
$ \7 X& N8 l- y9 r/ z! A% o+ k5 W
}& l9 [) }- x: t- i' X
this.getobjstyle=function(node,prop)0 G0 h P$ U% D- G
{
; q0 Y" u* G" { try6 Y( Z+ h$ x) j. l# q, B6 `6 a
{) H( u' j4 }9 }: h6 O8 Y, q1 x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 Q5 A& ~2 a5 b% B
}% p; A5 o3 y* x: x2 W! S% y
catch(e)5 Q; Q) `* e; U N
{+ R3 V b3 _! Z3 d4 F
if(debug)
( E/ O Q, }$ J" ~( K {
( I6 I( I o4 s# b5 a' t alert(e.message);0 I/ @4 F5 c3 O. n: e% P0 W
}
5 ?9 y7 i; X5 }9 \2 {9 E 1 f' j, k& d) C* q& X% [5 K
return "200";
8 H, Z& j0 z9 v8 T) O }
$ U8 P" v/ F" ^, L+ e7 y8 L }
9 L' @$ y! E) t2 S: p
( Y+ ~: ^: L$ N# l4 t this.RemoveHide=function(page,objname)
! d' R6 S/ y+ M( m5 a! Y/ L {6 Z2 n: T) Q9 n1 E3 K9 j6 J
try
+ W r) ]8 B5 W- p8 U) Q( }2 f {" Z% y1 [9 j6 I& l: o0 ^' Q- `
var minValue=15;/ N4 l# l: ^0 A
var objs=page.getElementsByTagName(objname);
6 W) W* F! r$ j0 H. q$ c
) _. [* ^* |( H) O8 U+ s$ [% I# e if(objs.length == 0) 9 X$ g( V& E- p# s$ s2 i+ C
{
" L& n5 {2 @2 O if(debug)# a8 e* _( ?3 Y: H1 X
{! g/ m* r( q5 P* g; ~7 s% R& c
alert("no object found!:"+objname);* V: M! Z9 S1 E; u
}5 {; A- }0 O3 k+ Q- y
}! r, M9 k9 K1 v! x3 w
else
! B2 u) h z; ?" G* Q$ A2 R {+ Q, A( s& ~) |8 d' b) ~) d6 N( P
- s) Z. k. ]9 K for(var i=objs.length-1;i>=0;i--) 0 t5 E; W: v: Q4 r# ^; \$ Z$ f
{
0 \# v5 {% d4 r2 q! M* l: a var node=objs.item(i);
4 s& p: g2 j" _5 s+ S
% m! t' q/ y1 s; j F0 r5 D * a# a2 K% e% [( W: I1 G. D0 J% b8 [
if(this.getobjstyle(node,"display") == "none" ||* n; d& J, q8 A
this.getobjstyle(node,"visibility") =="hidden" ||( X' o8 f, x$ T& {2 L/ V# G: Y
parseInt(this.getobjstyle(node,"font-size")) == 0) % U; C- G V" F: z
{
* h: \ W# S: l9 U; g/ z if(debug)
{% J; o- L3 ~: U* S2 g {, f' @/ g8 r$ @4 w* _7 I
alert("remove invisiable!");* y6 C8 W7 N$ u( j# W' }& m+ N$ {
}
) b/ z4 C+ l3 N: v' ? node.parentNode.removeChild(node);
1 v- ?# Q5 K% z% h & h3 |; P1 P2 i A0 Q6 u5 F
}/ w8 c! c( P$ F$ p+ J% I
else / X# A6 @8 H4 O t8 |/ \
{' y$ s* `7 F- X' H( o: h- {
if(node.parentNode) 5 B( W: C( ]6 k0 v; v9 r1 F$ U6 b; j
{
4 A+ X) C' E4 L0 S/ c/ D+ [ var orgNode=node;
2 k8 n# P; G0 e; s2 `% D var orgColor=this.getobjstyle(orgNode,"color"); ?0 M4 \5 e) Z0 ]0 O" C7 g4 C
var orgRGB=getRGB(orgColor);
2 u" r) _$ U& B; u7 r % S1 d+ z6 g+ D! M9 t
var parentNode=node.parentNode
: s; S, z( m2 `* _8 j* |# ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");; d0 x' S; Z# P4 j# ]9 q& U; ^8 }' X" C
@9 u) `( h8 p2 u var isLast=false; `( t, I% z" P8 k
% m8 p0 j) ]7 R+ v while(parentBgColor == "transparent")
. i2 F+ C" L0 l4 I; @% z" i/ n {
7 X- D; i+ s( j& x8 a" o: i
1 b0 M# [$ ?* N" L/ `! d, |+ j
# B- l3 i7 T3 J( Q7 X k9 Z if(parentNode.parentNode == null)
4 A z/ K3 I) |9 v {
5 c8 P, _; W8 A isLast=true;3 H: O- l% D. z q' d% e
break;
1 a. L) q! U. [ c I" B4 V3 M( D- H }
! d8 h% v' _: I! I5 {$ l parentNode=parentNode.parentNode;
+ g5 j3 C1 q# Y! @ parentBgColor=this.getobjstyle(parentNode,"background-color");
" ^" q S+ N7 a0 _1 F- G/ B# I- ]; X5 Q; ?; C
if(parentBgColor != "transparent") F e/ ]) T; c& Y4 p# n/ Z
{
& C- I$ u# y/ H1 K) ]" O break;
1 U% J' u4 N+ q6 y' G }
7 P/ ?' F( k2 { }
: n( C% S, I# u3 H/ L0 @ if(isLast) 1 z; j* h4 u5 V0 |' Z
{& J; P! u' I) X9 g) T
if(debug)5 ]0 s( @9 s7 Z( y2 a
{
) X+ G: d* G2 c9 {. j alert("last!!"); l. \% O+ u5 x
}& t. l4 P N1 `4 B- M! Z8 e7 @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 ?' R1 N/ F! _+ U {5 b. l* o. ^& y s j" j
orgNode.parentNode.removeChild(orgNode);
2 L$ t! D/ \& ^1 @3 n; T, D }! E E: ~* a8 H8 O s
}" i# N- G( C/ J" p3 y5 @ K
else
' [' C% y* U2 a6 B1 x1 [ p {
3 H0 P- O* x7 L# e1 g3 S if(debug)
1 f( f) D, o: h2 W7 S {
. j; D& A+ W6 [# y) \- r alert("compare color and parent bgcolor!");
& S( x9 I7 x3 \1 P. |( m$ U: x/ z }
/ f5 J/ m; K) A6 w# J) G/ y+ e" W parentBgRGB=getRGB(parentBgColor);. C* Z+ G' \$ ? o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 e) u" z8 Z: }
{
- y1 T8 s( F5 }+ E8 z/ C orgNode.parentNode.removeChild(orgNode); ; U& B }* c& B6 B# K
}& v) I7 ?4 Z7 o6 a' `
}$ h# c g! S9 s* Z1 e
} I1 N8 i" O2 q1 V
}
% |4 h7 L0 X* f# F }
! s; M4 O% [/ K! @6 {; M! K }
/ n- w8 W" W+ F/ x9 K9 R . R |" a; c! `5 L: r
2 T& P- H& s$ I3 F
var itemFrames = page.getElementsByTagName("frame");
& v0 w$ f1 S; ]' I; k var itemiFrames = page.getElementsByTagName("iframe");
: a7 _6 ~% ?6 I9 ~, G b% v+ n
% f$ k& N# O2 B" { w7 i var frame, iframe;0 @6 O, C/ c! S% a& |4 Q/ m
if (itemFrames.length > 0)
# p2 x7 I" i B7 k {
. I* H2 {6 u1 O2 c for (var i = 0 ; i< itemFrames.length ; i++)
; }" m/ X8 u: b/ Y {$ `% o# T3 {# S
frame = itemFrames.contentDocument;
. g2 y, F' E; O5 z this.RemoveHide(frame,objname);
7 B5 g7 q8 x0 N# P }
4 S2 F$ B1 W8 X @* F0 W0 L- l+ L N& W }8 v: I6 q) D( L- K$ L# g
if (itemiFrames.length > 0)
& t6 w( t! e3 R {1 N; m4 f- K3 ?6 B2 A
for (var i = 0 ; i < itemiFrames.length ; i++) : F: u4 T. @; n) H+ O9 z; j
{& h! a5 U* p3 ~0 z4 o" p1 b0 A
iframe = itemiFrames.contentDocument;# h9 [- z' K- q
this.RemoveHide(iframe,objname);
, b0 @0 l% f& Q& ]/ N4 M% p' j' U }
+ z. h+ A6 a" F/ o: P# t& U }6 i% k% |: T& V2 l; i
}3 b. d4 k8 P( L9 t
catch(e)
1 P3 M7 K* a# u' T1 n/ B; o! y {, _/ C8 _' ~4 \7 i3 X
if(debug)0 {& d5 {5 G/ f7 b/ D
{
4 p- q6 W, N/ \ alert(e.message);
+ |) G% M; U) d2 A4 B }
/ o' ]. s: v& d5 N4 b }
8 {- V, H6 f* V }
3 ]7 P$ ~* r0 D2 O0 f+ U / e( |1 \5 I( Z, Y) k% M7 W3 |
}
4 w$ o$ G! o! f$ D0 N t: m
% y/ a) x$ O6 l2 o$ Sfunction getRGB(colorString): r8 k1 i R/ e+ o! \
{5 ]4 m I& @$ D$ C8 L B( k
var RGB = new Array;9 P% b4 T+ [) H1 a, p( l
var tempSting=colorString.substring(4,colorString.length-1);
: }* f- i5 ~. s5 ?- E A var tempArray=tempSting.split(",");& h ^* ]& ^; l1 _+ |0 T
5 t: Y/ ~) n, e' H { RGB[0]=parseInt(tempArray[0]);! U) T* Y3 X! C7 l9 u
RGB[1]=parseInt(tempArray[1]);& u$ J/ f" q8 i
RGB[2]=parseInt(tempArray[2]);; T( E& g: N3 ^% A3 B: g. K
0 g6 I7 `- a3 f- p& e return RGB;
/ @" G: O4 N, m: l8 U# P! a4 O}
$ p! Q. O. E7 e3 Efunction keys(evt)
# t! D" K6 R7 A' F9 Q0 Q {
$ s0 t$ \* W" Z4 w. i0 ^ if(evt.ctrlKey && evt.keyCode=="81") & e0 V- I# ~ o
{
: \. [# V7 f n CleanHideObj.on(0,1);
8 @; U* p! o' D2 {1 H alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Y' N& a' o1 x) c* a6 }$ p& f0 i) x9 S ( n7 x( Q9 |: v7 j6 a( a+ e
}
& Y. _( i0 D4 S4 ~' \' E8 K }
6 T- R1 h- c4 B. Bdocument.addEventListener('keydown', keys, false); 1 V( L$ T- Y2 w( E; r j- w+ i
GM_registerMenuCommand ('Clean Hide',7 W/ K0 }3 j% h% _. U
function(e){
% Y# d" M: m4 e% hCleanHideObj.on(0,1)( s$ q3 q( M. ]7 ^, A5 ^0 d3 A; M) C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% ~9 K- Q+ U- H" ~});
! ]+ |5 e: _" f M) X |
评分
-
查看全部评分
|