当前位置: 首页 > news >正文

网站页面做成自适应优缺点为什么我的网站百度不收录

网站页面做成自适应优缺点,为什么我的网站百度不收录,中秋节网页设计实训报告,织梦网暂时关闭网站本文详细介绍了如何在H5中实现长按保存图片的功能。长按保存图片是现在一些宣传页H5中很常见的需求#xff0c;但是js没有这样的能力#xff0c;所以要么借助android或ios的原生能力,要么用canvas自己画一个(截屏)#xff0c;相比较原生成本太高#xff0c;且必须依赖于app…本文详细介绍了如何在H5中实现长按保存图片的功能。长按保存图片是现在一些宣传页H5中很常见的需求但是js没有这样的能力所以要么借助android或ios的原生能力,要么用canvas自己画一个(截屏)相比较原生成本太高且必须依赖于app相对于流传性很广且跨平台的H5来说不合时宜所以 canvas 成为我们常用的手段。下面是详细的步骤1. html2canvas截屏保存的图片节点最好是img标签 想要截屏的节点最好是img标签的图片经测试如果是 background-image 会有点模糊需要特别注意下。npm i html2canvas --saveimport html2canvas from html2canvas;// 想要保存的图片节点const dom document.querySelector(img);// 创建一个新的canvasconst Canvas document.createElement(canvas);const width document.body.offsetWidth; // 可见屏幕的宽const height document.body.offsetHeight; // 可见屏幕的高const scale window.devicePixelRadio; // 设备的devicePixelRadio// 将Canvas画布放大scale倍然后放在小的屏幕里解决模糊问题Canvas.width width * scale;Canvas.height height * scale;Canvas.getContext(2d).scale(scale, scale);html2canvas(dom, {canvas: Canvas,scale,useCORS: true,logging: true,width: width px,hegiht: height px,}).then((canvas) {const context canvas.getContext(2d);// 关闭抗锯齿形context.mozImageSmoothingEnabled false;context.webkitImageSmoothingEnabled false;context.msImageSmoothingEnabled false;context.imageSmoothingEnabled false;// canvas转化为图片canvas2Image(canvas, canvas.width, canvas.height);});2. canvas2Image转化为图片一般情况下转为jpeg格式就很不错了。canvas2Image(canvas, canvas.width, canvas.height) {const retCanvas document.createElement(canvas);const retCtx retCanvas.getContext(2d);retCanvas.width width;retCanvas.height height;retCtx.drawImage(canvas, 0, 0, width, height, 0, 0, width, height);const img document.createElement(img);img.src retCanvas.toDataURL(image/jpeg); // 可以根据需要更改格式return img;}3. 长按保存图片先实现一个长按的方法长按之后把生成的图片append到body透明浮在屏幕上。// 封装一个长按方法longPress(fn) {let timeout 0;const $this this;for (let i 0; i $this.length; i) {$this[i].addEventListener(touchstart, () {timeout setTimeout(fn, 800); // 长按时间超过800ms则执行传入的方法}, false);$this[i].addEventListener(touchend, () {clearTimeout(timeout); // 长按时间少于800ms不会执行传入的方法}, false);}}// 添加生成的图片到bodyconst img canvas2Image(canvas, canvas.width, canvas.height);document.body.appendChild(img);img.style.cssText width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;;4. 完整代码如下$.fn.longPress function(fn) {let timeout 0;const $this this;for (let i 0; i $this.length; i) {$this[i].addEventListener(touchstart, () {timeout setTimeout(fn, 800); // 长按时间超过800ms则执行传入的方法}, false);$this[i].addEventListener(touchend, () {clearTimeout(timeout); // 长按时间少于800ms不会执行传入的方法}, false);}};$(img).longPress(() {saveImg();});saveImg() {// 想要保存的图片节点const dom document.querySelector(img);// 创建一个新的canvasconst Canvas document.createElement(canvas);const width document.body.offsetWidth; // 可见屏幕的宽const height document.body.offsetHeight; // 可见屏幕的高const scale window.devicePixelRatio; // 设备的devicePixelRatio// 将Canvas画布放大scale倍然后放在小的屏幕里解决模糊问题Canvas.width width * scale;Canvas.height height * scale;Canvas.getContext(2d).scale(scale, scale);html2canvas(dom, {canvas: Canvas,scale,useCORS: true,logging: true,width: width px,hegiht: height px,}).then((canvas) {const context canvas.getContext(2d);// 关闭抗锯齿形context.mozImageSmoothingEnabled false;context.webkitImageSmoothingEnabled false;context.msImageSmoothingEnabled false;context.imageSmoothingEnabled false;// canvas转化为图片const img canvas2Image(canvas, canvas.width, canvas.height);document.body.appendChild(img);img.style.cssText width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;;}}canvas2Image(canvas, width, height) {const retCanvas document.createElement(canvas);const retCtx retCanvas.getContext(2d);retCanvas.width width;retCanvas.height height;retCtx.drawImage(canvas, 0, 0, width, height, 0, 0, width, height);const img document.createElement(img);img.src retCanvas.toDataURL(image/jpeg); // 可以根据需要更改格式return img;}刚开始做的时候也是网上一堆文章乱看不断的试错最后愉快的实现了长按保存图片的功能做完才发现也很简单哈这篇文章完整的介绍了整个流程拿走不谢总结以上所述是小编给大家介绍的一文彻底解决HTML5页面中长按保存图片功能希望对大家有所帮助如果大家有任何疑问欢迎给我留言小编会及时回复大家的
http://wiki.neutronadmin.com/news/301606/

相关文章:

  • 做界面网站用什么语言济宁网站建设流程
  • 网站改版设计流程网络推广哪个公司好
  • 网站打不开怎么办山东网站建设培训
  • 企业内部网站建设工厂怎么推广自己的产品
  • 深深圳市建设局网站做网上推广网站
  • 网站加强队伍建设全国小微企业名录查询官网
  • php购物网站开发桂林网站设计制作
  • 做网站和c 哪个好天猫网站是怎么做seo优化的
  • 网站开发项目范围说明书意义上海营销型网站
  • 企业网站建设上海网站建设的费用预算如何写
  • 手机网站图片轮播做网站的所有代码
  • 周口微网站制作怎么建网站手机版
  • 手机网站广告淘客推广有用吗
  • 百度推广多少钱seo排名优化关键词
  • 国内最有趣的网站深圳品牌网站建设
  • 太原市建设局网站黄冈网络推广服务平台
  • 前端和后端南山做网站推广乐云seo
  • 公众号首图制作网站关于网站集约化建设的意见
  • 石家庄网站建设专家四川省建设厅官方网站首页
  • 怎么做个网站演示免费wap自助建站火星建站
  • 网站上线前准备悟空crm的优势与不足
  • 商丘网站网站建设品牌官网设计
  • 一个专门做ppt的网站二次开发机器人
  • 公司网站开发排名成都微信小程序开发公司
  • 做外贸大一点的网站销客多
  • 在线设计网站可以做ps和ppt网站购物车怎么做
  • 利用店铺网站做灰色优化快站app
  • 电商的网站开发订单返利功能网站托管服务适用于哪种类型的网站
  • 一级a做爰片免费网站录像网站新闻页设计
  • 网站开发是哪个职位快速模板建站工具