热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

html2canvasie不兼容,javascript–html2canvas保存为jpeg而无需在浏览器中打开

下载器功能使它更容易:functiondownload(strData,strFileName,strMimeType){varDdocument,Aargument

下载器功能使它更容易:

function download(strData, strFileName, strMimeType) {

var D = document,

A = arguments,

a = D.createElement("a"),

d = A[0],

n = A[1],

t = A[2] || "text/plain";

//build download link:

a.href = "data:" + strMimeType + "," + escape(strData);

if (window.MSBlobBuilder) {

var bb = new MSBlobBuilder();

bb.append(strData);

return navigator.msSaveBlob(bb, strFileName);

} /* end if(window.MSBlobBuilder) */

if ('download' in a) {

a.setAttribute("download", n);

a.innerHTML = "downloading...";

D.body.appendChild(a);

setTimeout(function() {

var e = D.createEvent("MouseEvents");

e.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

a.dispatchEvent(e);

D.body.removeChild(a);

}, 66);

return true;

} /* end if('download' in a) */

; //end if a[download]?

//do iframe dataURL download:

var f = D.createElement("iframe");

D.body.appendChild(f);

f.src = "data:" + (A[2] ? A[2] : "application/octet-stream") + (window.btoa ? ";base64" : "") + "," + (window.btoa ? window.btoa : escape)(strData);

setTimeout(function() {

D.body.removeChild(f);

}, 333);

return true;

} /* end download() */

function screenGrabber() {

html2canvas([document.body], {

logging: true,

useCORS: true,

onrendered: function (canvas) {

img = canvas.toDataURL("image/jpeg");

download(img, "modified.jpg", "image/jpeg");

}

});

}



推荐阅读
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 重学前端学习笔记(十八)JavaScript的闭包和执行上下文
    笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加 ... [详细]
  • 使用parent.xadmin.add_tab()方法打开新的标签页重点是这个parent,折磨了我一下午,原来是没有搞清应该从父页面打开。最开始的xa ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • Android获取app应用程序大小的方法
    Android获取app应用程序大小的方法-Android对这种方法进行了封装,我们没有权限去调用这个方法,所以我们只能通过AIDL,然后利用Java的反射机制去调用系统级的方法。 ... [详细]
  • ajaxfileupload.js 兼容ie9,10
    在使用ajaxfileupload.js上传文件时,ie9和ie10会报INVALID_CHARACTER_ERR(5)的错误,导致无法上传成功;网上查了一系列处理方式:如:把代码 ... [详细]
  • IE下使用jQuery重置iframe地址时内存泄露问题解决办法
    IE下使用jQuery重置iframe地址时内存泄露问题解决办法:页面中有个iframe:代码如下:测试IFRAME泄露其中a.html ... [详细]
  • Html5第一章
    Html5第一章 ... [详细]
author-avatar
刁琼婉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有