最近開始用vue了,作了一個微信內嵌的h5頁面,某個頁面存在一個二維碼,在安卓手機上能夠長按識別二維碼,可是ios不行。vue
以下圖所示:
安卓沒有任何問題:ios
ios長按就不行了:vue-router
(出於隱私,馬賽克了中間的二維碼,見諒見諒)微信
框架: vue微信開發
操做系統: ios框架
後來處處找解決方案,google,,排查了N多緣由,什麼64px的Bug,什麼二維碼過大太小等等等等。聯繫微信開發者中心,問題算是反饋上去了,讓我把圖片和代碼片斷上傳上去,也上傳了,可是就沒下文了。(真心不想吐槽了)。那就本身一個個排查問題吧,新建vue項目,一個個地方改,終於發現了google
最後!終於發現是vue-router的緣由。爲了好看採用的是history的模式!結果發現這會致使出現這個Bug。所以將vue-router的mode:history去掉就行了(默認使用的是hash模式的router)
(ps: 小聲BB, 坑爹的微信,說來講去不是vue-router的鍋,而是微信本身的鍋, 至於具體的緣由,由於拿不到微信那邊的代碼,天然就不知道了。。只知道這樣能夠解決問題,哎。難受)spa