- 相關(guān)推薦
前端頁(yè)面中微信iOS版長(cháng)按識別二維碼有bug怎么辦-解決方法
我相信很多在做微信開(kāi)發(fā)的人都會(huì )遇到各種bug,而下面小編就給大家分享下前端頁(yè)面中微信iOS版長(cháng)按識別二維碼bug的解決方法。
發(fā)現問(wèn)題
頁(yè)面做出來(lái)后測試,發(fā)現在安卓版微信能正常識別,但iOS 版微信(iPhone 或 iPad)皆無(wú)法正常識別。出來(lái)問(wèn)題一開(kāi)頭固然是懷疑自己的代碼有問(wèn)題,上網(wǎng)搜索相關(guān)資料,嘗試以下方案均無(wú)法解決:
1、定位方式由absolute 改為傳統的margin(據說(shuō)絕對定位會(huì )導致這個(gè)問(wèn)題);
2、修改viewport 上的maximum-scale大于1(網(wǎng)絡(luò )上看到的解決方案);
3、網(wǎng)絡(luò )上有說(shuō)用position: fixed; 定位會(huì )導致這個(gè)問(wèn)題,但這個(gè)頁(yè)面css 文件完全無(wú)fixed 這個(gè)單詞。
尋找原因
后來(lái)找有經(jīng)驗的同事幫忙看下,發(fā)現可識別區域恰巧比正常地方稍微往上一點(diǎn),而“比正常地方稍微往上一點(diǎn)”是多少呢?經(jīng)過(guò)多次人工檢測,發(fā)現上文“比正常地方稍微往上一點(diǎn)”的高度正是微信標題欄+系統狀態(tài)欄的高度(64px)。
做了一個(gè)問(wèn)題重現的頁(yè)面,地址如下(用iOS 微信6.2 掃描方可重現):
iOS 版微信6.2 中二維碼實(shí)際可識別區域為藍色框部分(請用第五個(gè)小指在邊緣區細心長(cháng)按)。本人測試設備為iPad mini2+ iOS8.1 +微信6.2.2.17,其他微信版本沒(méi)有測試;
基本上可以確定是iOS 版微信的本身問(wèn)題,原因應該是微信客戶(hù)端在識別二維碼的時(shí)候忽略了微信標題欄+系統狀態(tài)欄的高度,而這種bug 的促發(fā)貌似也是需要CSS 進(jìn)行特殊定位的情況下才產(chǎn)生的(特別是absolute 絕對定位)。因為在微信實(shí)習的緣故,跟同事了解了下情況,這個(gè)bug 早在6.1 版本就出現了,他們有反饋過(guò)但到了6.2 都沒(méi)有修復。所以當前情況應該是先自行hack 下。
6月25日更新:經(jīng)過(guò)與微信 iOS 開(kāi)發(fā)人員的反饋溝通,確定是微信的 bug,據他們的說(shuō)法目前已經(jīng)修復,但能否在下一個(gè)版本中加入么,就不得而知了。
解決方案
個(gè)人在做這個(gè)頁(yè)面時(shí)候采取的解決方案是通過(guò)將img 標簽增大padding 的方式來(lái)增大可點(diǎn)擊區域(為此padding-bottom 特長(cháng))來(lái)解決的。
6月25日更新:還有一種解決方法(如下圖),即為二維碼圖片本身增加透明底部背景(前端上訪(fǎng)客看不到),增加可接觸面積。
[前端頁(yè)面中微信iOS版長(cháng)按識別二維碼有bug怎么辦_解決方法]相關(guān)文章:
【前端頁(yè)面中微信iOS版長(cháng)按識別二維碼有bug怎么辦-解決方法】相關(guān)文章:
這是微信的安全bug么?07-13
微信mac版和微信網(wǎng)頁(yè)版有什么不同?07-11
微信二維碼防偽07-13
網(wǎng)頁(yè)設計中頁(yè)面尺寸標準07-03
手機不在身邊怎么掃二維碼,上微信電腦版07-13
微信掃描二維碼出現亂碼?07-13
微信5.0說(shuō)朋友圈長(cháng)按相機鍵是內部體驗功能07-10
微信為何發(fā)純文字信息得長(cháng)按右上角的「照相07-09