問題描述:
H5首頁banner圖,在安卓微信內長按可識別二維碼,但在ios部分機型上,長按圖片識別不了二維碼。
測試機型:
-
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因業務需要,不可刪除。期待廣大網友給出辦法。