组合 a 标签与 canvas 实现图片资源的安全下载

Joe at 
普通用户下载图片时只需一个「右键另存为」操作即可完成,但当我们做在线编辑器、整个 UI 都被自定义实现时,如何解决不同域问题并实现页面中图片资源的安全下载呢?本文就解决该问题过程中所涉及的正则表达式、Web API 和 canvas 操作进行记录。本文分为以下七个部分: 利用 标签下载任意资源 解析 DOM 获取图片链接 分情况处理图片链接 工具函数中的正则表达式完善 canvas 绘制图片资源并转 Data URLs 返回 实际使用与总结 参考资料以下开始正文。0. 利用 标签下载任意资源最简单的办法,当然是利用 标签。根据 MDN 描述, 标签有一个属性叫 downlo……