Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)


Posted in Javascript onJanuary 19, 2020

这几天做个了项。就是微信扫描二维码的然后进入公众号网页巴拉巴拉的,然后就很顺利的遇到了在安卓端扫码的时候,顺利的一塌糊涂,然后到了苹果端的时候,就只能出现一个保存图片,然后就写一下记录一下这问题的解决方法。

问题

机型:iphone 7p

这里的二维码是一张图片,微信返回的图片,具体下图

Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法) 

然后是正常情况下。当我们开始扫码的时,应该是这个样子

Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法) 

这个是正常的,但是在苹果端的时候就懵了,下面的菜单就只有一个保存图片。那么如何解决呢,请看下面。

解决方案

解决方案其实有两种。

使用 qrcodeJs 就不做介绍了,官网应有尽有,也就是将二维码的链接填写进绘制的 canvas 里面,然后生成二维码扫描。

附上github地址: qrcodejs

  • 使用a标签进行跳转
  • 使用 a 标签进行跳转这个应该没什人有疑问怎么做了,也就是几行代码的事情
let a = document.createElement("a");
a.href = `${window.location.origin}/invite?qrcode=${qrcode}`;
a.click();

这个在项目内的时候呢,确实是可以解决问题的,但如果从外部带参数进入网页,例如有人分享了一个二维码给我,然后让我去扫码的时候呢? 他就不行了。然后经过我几次测试之后,我发现了问题

// 第一次跳转的时候,也就是进入页面的时候,url是这样的
http://dududev.huikaoedu.com/invite?qrcode=https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxx

然后这个时候呢,他是无法扫码的,只能保存到本地,但是我又想起之前在百度看见一个很奇葩的解决方式,刷新页面,说是刷新页面就可以了,然后在我坚持不懈的刷新了两以后,我发现我的url变成了下面这样子

http://dududev.huikaoedu.com/invite?qrcode=https%3A%2F%2Fmp.weixin.qq.com%2Fcgi-bin%2Fshowqrcode%3Fticket%xxx

没错,他进行了编码!!!!!!!所以最终的方案就是,如果你发现使用了 a 标签没用,那么就要进行 encodeURIComponent() 编码,具体就是这样了

let a = document.createElement("a");
const qrcode = encodeURIComponent(this.$route.query.qrcode);
a.href = `${window.location.origin}/invite?qrcode=${qrcode}`;
a.click();

总结

以上所述是小编给大家介绍的V的ue 微信端扫描二维码苹果端只能保存图片解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
如何判断图片地址是否失效
Feb 02 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
js动态设置div的值下例子
Oct 29 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
jQuery siblings()用法实例详解
Apr 26 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 Javascript
小程序清理本地缓存的方法
Aug 17 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
JS基础之逻辑结构与循环操作示例
Jan 19 #Javascript
js实现图片上传到服务器和回显
Jan 19 #Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 #Javascript
ES6 Object.assign()的用法及其使用
Jan 18 #Javascript
vue项目中监听手机物理返回键的实现
Jan 18 #Javascript
vue组件内部引入外部js文件的方法
Jan 18 #Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 #Javascript
You might like
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
ExtJs使用总结(非常详细)
2012/03/22 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python模块restful使用方法实例
2013/12/10 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
Python读写Excel文件方法介绍
2014/11/22 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
小学生校园广播稿
2014/09/28 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
Python 图片添加美颜效果
2022/04/28 Python