前端頁面中微信iOS版長按識別二維碼有bug怎麼辦-解決方法
我相信很多在做微信開發的人都會遇到各種bug,而下面小編就給大家分享下前端頁面中微信iOS版長按識別二維碼bug的解決方法。
發現問題
頁面做出來後測試,發現在安卓版微信能正常識別,但iOS 版微信(iPhone 或 iPad)皆無法正常識別。出來問題一開頭固然是懷疑自己的代碼有問題,上網搜索相關資料,嘗試以下方案均無法解決:
1、定位方式由absolute 改為傳統的margin(據説絕對定位會導致這個問題);
2、修改viewport 上的`maximum-scale大於1(網絡上看到的解決方案);
3、網絡上有説用position: fixed; 定位會導致這個問題,但這個頁面css 文件完全無fixed 這個單詞。
尋找原因
後來找有經驗的同事幫忙看下,發現可識別區域恰巧比正常地方稍微往上一點,而“比正常地方稍微往上一點”是多少呢?經過多次人工檢測,發現上文“比正常地方稍微往上一點”的高度正是微信標題欄+系統狀態欄的高度(64px)。
做了一個問題重現的頁面,地址如下(用iOS 微信6.2 掃描方可重現):
iOS 版微信6.2 中二維碼實際可識別區域為藍色框部分(請用第五個小指在邊緣區細心長按)。本人測試設備為iPad mini2+ iOS8.1 +微信,其他微信版本沒有測試;
基本上可以確定是iOS 版微信的本身問題,原因應該是微信客户端在識別二維碼的時候忽略了微信標題欄+系統狀態欄的高度,而這種bug 的促發貌似也是需要CSS 進行特殊定位的情況下才產生的(特別是absolute 絕對定位)。因為在微信實習的緣故,跟同事瞭解了下情況,這個bug 早在6.1 版本就出現了,他們有反饋過但到了6.2 都沒有修復。所以當前情況應該是先自行hack 下。
6月25日更新:經過與微信 iOS 開發人員的反饋溝通,確定是微信的 bug,據他們的説法目前已經修復,但能否在下一個版本中加入麼,就不得而知了。
解決方案
個人在做這個頁面時候採取的解決方案是通過將img 標籤增大padding 的方式來增大可點擊區域(為此padding-bottom 特長)來解決的。
6月25日更新:還有一種解決方法(如下圖),即為二維碼圖片本身增加透明底部背景(前端上訪客看不到),增加可接觸面積。
-
職場:“充電”如何才能恰到好處
謝小姐大學所學專業是電力工程,畢業後進入了某電力公司,從事技術工作。2年時間一晃而過,謝小姐發現自己越來越不喜歡電力這個行業,感覺技術工作也越來越單調乏味。相反地,因為她一直以來對人力資源管理方面有興趣,想要轉行做HR的願望卻越來越強烈,只是一直沒有找到切...
-
職場需要充電的信號
信號1:你是否感覺目前自己的職業沒意思?莎莉在大學學習的時候,並不太熱愛自己的金融專業,但畢業時沒有改行的機會,還是進了一家外資銀行。“我總是不太安心工作,覺得自己現在的工作沒什麼意思,幻想着有一天可以做記者、主持人或者律師,而不是整天面對着不屬於自己的金...
-
提高瀏覽器渲染頁面速度的建議
怎樣儘可能的縮短瀏覽器上頁面渲染的時間,文章從以下幾方面着手:寫出高效的css代碼避免使用css表達式把css文件放在頁面頂部指定頁面圖片的尺寸頁面頭部標明文檔編碼一,寫出高效的css代碼首先弄清瀏覽器解析html代碼的過程:構建一個dom樹,頁面要顯示的各元素都會創...
-
hp打印機遠程打印
今天剛用上遠程打印,順便分享下文章。工具/原料hp打印機win7系統方法/步驟1、雙擊【計算機】,找到【網絡】,添加打印機。2、選擇無線打印。3、win7會自動搜索到有打印機的設備。4、選中雙擊即可5、然後開始打印界面,點開要打印的頁面,快捷鍵【ctrl+p】打印。安裝驅...