@@ -8,14 +8,15 @@ var image = {
88 this . refreshImage ( ) ;
99 ID ( 'imageList' ) . style . display = 'block' ;
1010 } ,
11+ // 初始化 绑定事件
1112 initEvent : function ( ) {
1213 var that = this ,
1314 file = ID ( 'file' ) ;
1415
1516 ID ( 'btn' ) . addEventListener ( 'click' , function ( ) {
1617 that . start ( ) ;
1718 } ) ;
18-
19+ // 上传图片
1920 file . addEventListener ( 'change' , function ( e ) {
2021 var file = e . target . files [ 0 ] ,
2122 name = cos . getRandomName ( this . value ) ;
@@ -31,35 +32,66 @@ var image = {
3132 }
3233 } ) ;
3334
35+ // 鼠标移上 显示大图
36+ ID ( 'imageList' ) . addEventListener ( 'mouseover' , function ( e ) {
37+ var target = e . target || e . srcElement ;
38+ if ( target . tagName === 'IMG' ) {
39+ that . showBigImage ( target . getAttribute ( 'src' ) )
40+ }
41+ } ) ;
42+
43+ ID ( 'imageList' ) . addEventListener ( 'mouseout' , function ( e ) {
44+ var target = e . target || e . srcElement ;
45+ if ( target . tagName === 'IMG' ) {
46+ ID ( 'showImage' ) . style . display = 'none' ;
47+ }
48+ } ) ;
49+
50+ // 粘帖图片
51+ ID ( 'clipboardInput' ) . addEventListener ( 'paste' , function ( event ) {
52+ var items = ( event . clipboardData && event . clipboardData . items ) || [ ] ;
53+ var file = null ;
54+
55+ if ( items && items . length ) {
56+ for ( var i = 0 ; i < items . length ; i ++ ) {
57+ if ( items [ i ] . type . indexOf ( 'image' ) !== - 1 ) {
58+ file = items [ i ] . getAsFile ( ) ;
59+ cos . send ( cos . getRandomName ( file . name ) , file ) ;
60+ break ;
61+ }
62+ }
63+ }
64+ } ) ;
65+
3466 // 清除历史
3567 ID ( 'clean' ) . addEventListener ( 'click' , function ( ) {
3668 chrome . storage . sync . set ( { image : [ ] } , function ( ) {
3769 that . refreshImage ( ) ;
3870 } ) ;
3971 } )
4072 } ,
73+ // 点击上传按钮
4174 start : function ( ) {
42- var that = this ,
43- file = ID ( 'file' ) ;
44- file . click ( ) ;
75+ ID ( 'file' ) . click ( ) ;
4576 } ,
46- // 显示图片
77+ // 加载本地历史 显示图片
4778 refreshImage : function ( ) {
4879 chrome . storage . sync . get ( { image : [ ] } , function ( items ) {
4980 var html = [ ] ;
5081 var images = items . image . reverse ( ) ;
5182 for ( var i = 0 ; i < items . image . length ; i ++ ) {
52- html . push ( '<li><a href="javascript:; "><img src="' + items . image [ i ] + '"></a></li>' ) ;
83+ html . push ( '<li><a href="# "><img src="' + items . image [ i ] + '"></a></li>' ) ;
5384 }
5485 ID ( 'imageList' ) . innerHTML = html . join ( '' ) ;
5586 } ) ;
5687 } ,
88+ // 保存到本地记录
5789 insert : function ( src ) {
5890 var that = this ;
5991 chrome . storage . sync . get ( { image : [ ] } , function ( items ) {
6092 var data = items . image ;
6193 data . push ( src ) ;
62- if ( data . length > 10 ) {
94+ if ( data . length > 100 ) {
6395 data . shift ( ) ;
6496 }
6597 chrome . storage . sync . set ( { image : data } , function ( ) {
@@ -69,6 +101,12 @@ var image = {
69101 } ) ;
70102 this . copy ( src ) ;
71103 } ,
104+ // 显示大图
105+ showBigImage ( src ) {
106+ var image = document . querySelector ( '#showImage img' ) ;
107+ image . setAttribute ( 'src' , src ) ;
108+ ID ( 'showImage' ) . style . display = 'block' ;
109+ } ,
72110 // 复制文字
73111 copy : function ( txt ) {
74112 var op = ID ( 'hidden' ) ;
@@ -93,6 +131,7 @@ var image = {
93131} ;
94132
95133var cos = {
134+ // 上传图片到腾讯云
96135 send : function ( name , file ) {
97136 var config = {
98137 SecretId : '' ,
@@ -125,7 +164,7 @@ var cos = {
125164 } ,
126165 // 获取随机文件名称
127166 getRandomName : function ( name ) {
128- var ext = name . split ( '.' ) . pop ( ) ,
167+ var ext = name ? name . split ( '.' ) . pop ( ) : '' ,
129168 d = new Date ( ) ,
130169 path = "/" ;
131170 path += d . getFullYear ( ) + '-' + ( d . getMonth ( ) + 1 ) + '-' + d . getDate ( ) ;
0 commit comments