Vue 微信端掃描二維碼蘋果端卻只能保存圖片問題(解決方法)
這幾天做個(gè)了項(xiàng)。就是微信掃描二維碼的然后進(jìn)入公眾號(hào)網(wǎng)頁巴拉巴拉的,然后就很順利的遇到了在安卓端掃碼的時(shí)候,順利的一塌糊涂,然后到了蘋果端的時(shí)候,就只能出現(xiàn)一個(gè)保存圖片,然后就寫一下記錄一下這問題的解決方法。
問題
機(jī)型:iphone 7p
這里的二維碼是一張圖片,微信返回的圖片,具體下圖
然后是正常情況下。當(dāng)我們開始掃碼的時(shí),應(yīng)該是這個(gè)樣子
這個(gè)是正常的,但是在蘋果端的時(shí)候就懵了,下面的菜單就只有一個(gè)保存圖片。那么如何解決呢,請(qǐng)看下面。
解決方案
解決方案其實(shí)有兩種。
使用 qrcodeJs 就不做介紹了,官網(wǎng)應(yīng)有盡有,也就是將二維碼的鏈接填寫進(jìn)繪制的 canvas 里面,然后生成二維碼掃描。
附上github地址: qrcodejs
- 使用a標(biāo)簽進(jìn)行跳轉(zhuǎn)
- 使用 a 標(biāo)簽進(jìn)行跳轉(zhuǎn)這個(gè)應(yīng)該沒什人有疑問怎么做了,也就是幾行代碼的事情
let a = document.createElement("a");
a.href = `${window.location.origin}/invite?qrcode=${qrcode}`;
a.click();
這個(gè)在項(xiàng)目內(nèi)的時(shí)候呢,確實(shí)是可以解決問題的,但如果從外部帶參數(shù)進(jìn)入網(wǎng)頁,例如有人分享了一個(gè)二維碼給我,然后讓我去掃碼的時(shí)候呢? 他就不行了。然后經(jīng)過我?guī)状螠y(cè)試之后,我發(fā)現(xiàn)了問題
// 第一次跳轉(zhuǎn)的時(shí)候,也就是進(jìn)入頁面的時(shí)候,url是這樣的
http://dududev.huikaoedu.com/invite?qrcode=https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxx
然后這個(gè)時(shí)候呢,他是無法掃碼的,只能保存到本地,但是我又想起之前在百度看見一個(gè)很奇葩的解決方式,刷新頁面,說是刷新頁面就可以了,然后在我堅(jiān)持不懈的刷新了兩以后,我發(fā)現(xiàn)我的url變成了下面這樣子
沒錯(cuò),他進(jìn)行了編碼?。。。。。。∷宰罱K的方案就是,如果你發(fā)現(xiàn)使用了 a 標(biāo)簽沒用,那么就要進(jìn)行 encodeURIComponent() 編碼,具體就是這樣了
let a = document.createElement("a");
const qrcode = encodeURIComponent(this.$route.query.qrcode);
a.href = `${window.location.origin}/invite?qrcode=${qrcode}`;
a.click();
總結(jié)
以上所述是小編給大家介紹的V的ue 微信端掃描二維碼蘋果端只能保存圖片解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
vue的diff算法知識(shí)點(diǎn)總結(jié)
本篇文章給大家分享了關(guān)于vue的diff算法的相關(guān)知識(shí)點(diǎn)總結(jié),有興趣的朋友參考學(xué)習(xí)下。2018-03-03
vue下axios攔截器token刷新機(jī)制的實(shí)例代碼
這篇文章主要介紹了vue下axios攔截器token刷新機(jī)制的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
vue中的模態(tài)對(duì)話框組件實(shí)現(xiàn)過程
這篇文章主要介紹了vue中的模態(tài)對(duì)話框組件實(shí)現(xiàn)過程,通過template定義組件,并添加相應(yīng)的對(duì)話框樣式,需要的朋友可以參考下2018-05-05
Vue 路由間跳轉(zhuǎn)和新開窗口的方式(query、params)
這篇文章主要介紹了Vue 路由間跳轉(zhuǎn)和新開窗口的方式,本文主要通過query方式和params方式介紹,需要的朋友可以參考下2019-12-12
vue+elementUI多表單同時(shí)提交及表單校驗(yàn)最新解決方案
假設(shè)有一個(gè)頁面,需要分三步填寫三個(gè)表單,且每個(gè)表單位于獨(dú)立的組件中,然后最后保存同時(shí)提交,如何進(jìn)行表單必填項(xiàng)校驗(yàn),下面小編給大家介紹vue+elementUI多表單同時(shí)提交及表單校驗(yàn)最新解決方案,感興趣的朋友一起看看吧2024-03-03
vue實(shí)現(xiàn)頁面上傳文件夾壓縮后傳給服務(wù)器的操作
這篇文章主要介紹了vue實(shí)現(xiàn)頁面上傳文件夾壓縮后傳給服務(wù)器的操作,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
ant?design?vue?pro?支持多頁簽?zāi)J絾栴}
這篇文章主要介紹了ant?design?vue?pro?支持多頁簽?zāi)J絾栴},具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

