微信 H5 開發(fā)常見兼容性的坑有什么(微信分身)

      網(wǎng)友投稿 1052 2022-06-19

      HTML文本是一種描述式語言,HTML命令可以解釋文字、圖形、動畫、聲音、表格、鏈接等等。其結構包括頭部(頭)、主體(主體)(主體)兩大部分,而主體包含要說明的具體內(nèi)容。下面就讓來給大家分享一下微信 H5 開發(fā)常見兼容性的坑有什么,讓我們一起來看看吧。

      1、ios端兼容input光標高度

      問題詳情描述:input輸入框光標,在安卓手機上顯示沒有問題,但是在蘋果手機上當點擊輸入的時候,光標的高度和父盒子的高度一樣。例如下圖,左圖是正常所期待的輸入框光標,右邊是ios的input光標。

      出現(xiàn)原因分析:通常我們習慣用height屬性設置行間的高度和line-height屬性設置行間的距離(行高),當點擊輸入的時候,光標的高度就自動和父盒子的高度一樣了。(谷歌瀏覽器的設計原則,還有一種可能就是當沒有內(nèi)容的時候光標的高度等于input的line-height的值,當有內(nèi)容時,光標從input的頂端到文字的底部

      解決辦法:高度height和行高line-height內(nèi)容用padding撐開

      2、ios端微信h5頁面上下滑動時卡頓、頁面缺失

      問題詳情描述:在ios端,上下滑動頁面時,如果頁面高度超出了一屏,就會出現(xiàn)明顯的卡頓,頁面有部分內(nèi)容顯示不全的情況,例如下圖,右圖是正常頁面,邊是ios上下滑動后,卡頓導致如左圖下面部分丟失。

      出現(xiàn)原因分析:

      籠統(tǒng)說微信瀏覽器的內(nèi)核,Android上面是使用自帶的WebKit內(nèi)核,iOS里面由于蘋果的原因,使用了自帶的Safari內(nèi)核,Safari對于overflow-scrolling用了原生控件來實現(xiàn)。對于有-webkit-overflow-scrolling的網(wǎng)頁,會創(chuàng)建一個UIScrollView,提供子layer給渲染模塊使用。【有待考證】

      解決辦法:只需要在公共樣式加入下面這行代碼

      *{-webkit-overflow-scrolling: touch;}

      But,這個屬性是有bug的,比如如果你的頁面中有設置了絕對定位的節(jié)點,那么該節(jié)點的顯示會錯亂,當然還有會有其他的一些bug。

      拓展知識:-webkit-overflow-scrolling:touch是什么?

      MDN上是這樣定義的:

      -webkit-overflow-scrolling 屬性控制元素在移動設備上是否使用滾動回彈效果. auto: 使用普通滾動, 當手指從觸摸屏上移開,滾動會立即停止。touch: 使用具有回彈效果的滾動,當手指從觸摸屏上移開,內(nèi)容會繼續(xù)保持一段時間的滾動效果。繼續(xù)滾動的速度和持續(xù)的時間和滾動手勢的強烈程度成正比。同時也會創(chuàng)建一個新的堆棧上下文。

      3、安卓彈出的鍵盤遮蓋文本框

      問題詳情描述:

      安卓微信H5彈出軟鍵盤后擋住input輸入框

      微信 H5 開發(fā)常見兼容性的坑有什么(微信分身)

      出現(xiàn)原因分析:待補充

      解決辦法:給input和textarea標簽添加focus事件,如下,先判斷是不是安卓手機下的操作,當然,可以不用判斷機型,Document 對象屬性和方法,setTimeout延時0.5秒,因為調(diào)用安卓鍵盤有一點遲鈍,導致如果不延時處理的話,滾動就失效了

      拓展知識:

      Element.scrollIntoView()方法讓當前的元素滾動到瀏覽器窗口的可視區(qū)域內(nèi)。而Element.scrollIntoViewIfNeeded()方法也是用來將不在瀏覽器窗口的可見區(qū)域內(nèi)的元素滾動到瀏覽器窗口的可見區(qū)域。但如果該元素已經(jīng)在瀏覽器窗口的可見區(qū)域內(nèi),則不會發(fā)生滾動

      4、Vue中路由使用hash模式,開發(fā)微信H5頁面分享時在安卓上設置分享成功,但是ios的分享異常

      問題詳情描述:

      ios當前頁面分享給好友,點擊進來是正常,如果二次分享,則跳轉到首頁;使用vue router跳轉到第二個頁面后在分享時,分享設置失敗;以上安卓分享都是正常

      出現(xiàn)原因分析:jssdk是后端進行簽署,前端校驗,但是有時跨域,ios是分享以后會自動帶上 from=singlemessage&isappinstalled=0 以及其他參數(shù),分享朋友圈參數(shù)還不一樣,貌似系統(tǒng)不一樣參數(shù)也不一樣,但是每次獲取url并不能獲取后面這些參數(shù)

      解決辦法:

      (1)可以使用改頁面this.$router.push跳轉,為window.location.href去跳轉,而不使用路由跳轉,這樣可以使地址欄的地址與當前頁的地址一樣,可以分享成功(適合分享的頁面不多的情況下,作為一個單單頁運用,這樣刷新頁面跳轉,還是..)

      (2)把入口地址保存在本地,等需要獲取簽名的時候 取出來,注意:sessionStorage.setItem(‘href’,href); 只在剛進入單應用的時候保存!【該方法未驗證】

      實際上,微信H5頁面知識很多,登陸授權,jssdk授權,當然還有上傳圖片,微信支付等功能,也可能會遇到一些坑,這些坑也是比較常見的,如果有更好的解決方案,歡迎在留言區(qū)分享。以上就是為大家分享的關于“微信 H5 開發(fā)常見兼容性的坑有什么”的全部內(nèi)容啦,希望能夠給大家?guī)韼椭丁?/p>

      版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。

      上一篇:Html5的開發(fā)優(yōu)勢是什么(HTML5的優(yōu)勢包括)
      下一篇:Word2019文檔中查找批注的兩種方法(word文檔查看批注)
      相關文章
      亚洲精品国产专区91在线| 久久久久亚洲精品日久生情 | 亚洲第一香蕉视频| 久久亚洲综合色一区二区三区| 色噜噜AV亚洲色一区二区| 亚洲精品视频久久久| 亚洲国产香蕉人人爽成AV片久久| 日韩亚洲人成在线综合| 亚洲第一页日韩专区| 亚洲国产精品国产自在在线| 国产成人精品亚洲| 亚洲成?Ⅴ人在线观看无码| 亚洲国产成人久久一区WWW| 久久久久亚洲精品男人的天堂| 亚洲中文字幕成人在线| 久久青青草原亚洲av无码| 亚洲熟妇av一区二区三区漫画| 亚洲一区二区三区自拍公司| 亚洲一区二区三区AV无码| 亚洲色大成网站WWW久久九九| 亚洲免费观看视频| 久久夜色精品国产亚洲AV动态图| 久久久亚洲精品无码| 337p日本欧洲亚洲大胆精品555588| 亚洲黄色三级视频| 亚洲AV成人噜噜无码网站| 亚洲欧洲专线一区| 久久久久亚洲精品无码网址色欲 | 日本系列1页亚洲系列| 亚洲人午夜射精精品日韩| 亚洲中文字幕在线乱码| 亚洲狠狠婷婷综合久久久久| 亚洲国产精品人久久| 亚洲国产精品成人精品软件| 亚洲精品天堂在线观看| 欧美亚洲精品一区二区| 亚洲精品高清在线| 亚洲处破女AV日韩精品| 亚洲韩国在线一卡二卡| 最新亚洲春色Av无码专区| 国产精品亚洲AV三区|