VUE單頁應用中,使用history模式時,微信長按識別二維碼在ios下失效的問題
這幾天遇到一個很神奇的問題:一個二維碼頁面,在安卓微信里長按可以出現 識別二維碼
選單,但是蘋果微信裡就只有 儲存圖片
和 取消
如圖

不識別.jpg

正常識別.jpg
開始的時候上網搜,看到很多類似的

3.jpg
但是嘗試過後都一一排除了,然後看到了這篇 部落格 ,症狀是一模一樣,當時那個興奮啊~~~
文中給出的解決辦法有三個:
- 進入該頁面的方式不使用路由跳轉,而改為 <a href="xxx">目標二維碼頁面</a>的方式;
- 在beforeCreated中過載該頁面(例如增加&_r=1);
- 改為hash模式。
方法一:親測有效,可以解決遇到的問題;
方法二:可能個人理解有誤,本人的辦法是——通過beforeRouteEnter,在進入頁面前進行判斷,進入的是指定的頁面時重新整理頁面,重新整理效果是實現了,但是並沒有解決問題,因為不知道重新整理幾次可以正常識別,也不可能寫死重新整理次數吧;
方法三:因為專案的問題,修改router為hash模式不可行,而且這個還需要後端配合,所以這個方法不能用