最近在做項目,有一個需要長按二維碼,直接識別二維碼來關注公衆號,寫好以後,安卓手機可以使用,但是蘋果手機長按沒有一點反應,就去查找解決方法,找了很多,有說
1、是存放二維碼的頁面,不要放多個;
2、還有是說,放二維碼的頁面不能有position:fixed(固定定位);
3、是index.html頁面meta縮放問題了;
4、什麼history模式了;
5、什麼在img父元素div加背景二維碼圖片了
以上這些方法,除了第二種,其他都已經嘗試,沒有達到效果。
我的項目是,父組件裏面調用了子組件,子組件裏面有二維碼,父組件使用了fixed定位。
所以我的調整方法是,在二維碼那裏設置點擊事件,跳轉到新頁面,新頁面防置二維碼以及一些信息,這樣實現的效果是點擊有反應了,頁面內容如下:
代碼如下:
1、父組件裏面的點擊事件:
2、新的關注頁面代碼:
<div class="goal__content-body">
{{usText}}
<p>如想關注公衆號,請長按二維碼:</p>
</div>
<img :src="src" class="img_info"/>
3、src路徑:
以上就是響應的代碼,不過這樣還有一個問題就是,長按二維碼會放大,並且出現分享、等操作,就需要給img圖片加一個css樣式:
-webkit-touch-callout: none;
如下圖:
這樣就麼有問題了~ 結果如下:
成功啦~~