Javascript导出Excel

  1. 引用ExcelBuilder
  2. 创建workbook
  3. 创建worksheet
  4. 加载数据
  5. 下载
  • 自动计算列宽
  • 过滤特殊字符
  • 自动换行,顶部对齐
  • 全局默认样式

     

 

continue reading Javascript导出Excel

Angular Js 事件传递、广播、Controller间数据交互

架设有这么三个Controller,Golbal在外面,另外两个在里面

  • GlobalController
    • UserListController
    • UserDetailController

UserListController触发一个事件change_user冒泡到GlobalController中

 

GlobalController响应这个事件

 

GlobalController广播一个事件到自己和所有的子Controller中

 

UserDetailController接收广播

 

continue reading Angular Js 事件传递、广播、Controller间数据交互

JS/CSS判断是否是retina屏幕

JS:

 

CSS:

 

continue reading JS/CSS判断是否是retina屏幕

ios版QQ中锚点和hashchange的BUG

问题

QQ版本:5.6 for iPhone

首先是这样一段代码,正常情况下点击A标签location的hash会变成#one,并触发hashchange事件,页面不会刷新。

再执行history.back()或点击浏览器的后退按钮时,会再次触发hashchange事件,页面也不会刷新

但是在ios的QQ中点击A标签会刷新页面后条转到#one处,不会触发hashchange事件。

再执行history.back()或点击浏览器的后退按钮时,同样不会触发hashchange事件,并且是以重新加载页面的方式返回的。

感觉在ios的QQ中锚点链接被当成了普通链接进行处理了。

尝试解决

然后稍微做了一些调整,将href=”#one”改成了通过js执行location.hash=”#one”。

这么写之后点击a标签页面不会刷新了,location.hash也变成了#one,但是却没有触发hashchange事件。

最终解决

改用popstate事件,不知道为什么在ios的QQ中onload的时候会触发popstate事件,history.back时也会触发这个事件。

用正则判断了一下userAgent,如果是在ios的QQ中就使用popstate,其它情况还是用hashchange

continue reading ios版QQ中锚点和hashchange的BUG

通过雅虎获取历史汇率

输出结果:

continue reading 通过雅虎获取历史汇率

-webkit-mask

-webkit-mask的写法和background一样,效果是在background上添加一层蒙板,只能用mask的图片透明度影响background的透明度,无法影响background的rgb色值。

continue reading -webkit-mask

base64透明图

1:1 (640×640)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=

2:1 (640×320)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABCAMAAADD/I+4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////AAAAVcLTfgAAAA1JREFUeNpiYGAACDAAAAMAAdNjUbYAAAAASUVORK5CYII=

16:9 (640×360)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJAQMAAAAB5D5xAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjwA0AABsAAQrj5HwAAAAASUVORK5CYII=

5:3 (600×360)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAADCAMAAABs6DXKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////AAAAVcLTfgAAAA5JREFUeNpiYEAHAAEGAAASAAGzTHsVAAAAAElFTkSuQmCC

64:15 (640×150)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAPAQMAAABuqVskAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAAtJREFUCNdjGBwAAACHAAGSlBfhAAAAAElFTkSuQmCC

32:15 (640×300)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAPAQMAAAC/Tl9UAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAAtJREFUCNdjoB4AAABLAAGYraT+AAAAAElFTkSuQmCC

64:45 (640×450)

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtAQMAAAAkzf8ZAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA1JREFUGNNjGAWDDwAAAZUAAS+WdwMAAAAASUVORK5CYII=

continue reading base64透明图