前端頁面中iOS版微信長按識別二維碼的bug

明明姐姐?發表於2018-12-04

問題描述:

H5首頁banner圖,在安卓微信內長按可識別二維碼,但在ios部分機型上,長按圖片識別不了二維碼。

前端頁面中iOS版微信長按識別二維碼的bug

測試機型:

  • iphone6s plus 系統12.1 微信版本6.7.4

  • iphone7 系統12.0.1 微信版本6.7.4

問題排查:

  • (1)將圖片單獨在微信中開啟,長按可識別二維碼,排除是圖片模糊問題;
  • (2)上網查資料,以下解決方案均無效
    • 1、定位方式由absolute 改為傳統的margin(據說絕對定位會導致這個問題);
    • 2、修改viewport 上的maximum-scale大於1(網路上看到的解決方案);
    • 3、網路上有說用position: fixed; 定位會導致這個問題 ;
  • (3)網上此類問題資料很少,我們再從程式碼中查詢問題,經反覆實驗之後,發現程式碼中用到了window.history.replaceState(null, null, newUrl);以及window.location.href=newUrl,將此類程式碼註釋掉,發現二維碼可識別。

問題解決:

哈哈,目前還沒找到解決辦法,replaceState和window.location.href因業務需要,不可刪除。期待廣大網友給出辦法。

相關文章