成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

移動前端:移動端頁面坑與排坑技巧

移動開發 Android
對于前端開發者來說移動端存在更多的挑戰,移動端頁面開發過程中會碰到各種各樣千奇百怪的問題(我們俗稱BUG或坑),那么今天我為大家分享移動端頁面開發過程中的一些坑和排坑技巧。

[[124210]]

對于前端開發者來說移動端存在更多的挑戰,移動端頁面開發過程中會碰到各種各樣千奇百怪的問題(我們俗稱BUG或坑),那么今天我為大家分享移動端頁面開發過程中的一些坑和排坑技巧。

移動端頁面在不同設備、不同操作系統 、不同運行環境下都可能造成各種各樣的沒有碰到過的的坑,相比曾經的IE6坑多了。下面先介紹一下4類具體常見的坑:

1、外觀

A、頁面高度渲染錯誤

在各移動端瀏覽器中經常會出現這種頁面高度100%的渲染錯誤,頁面低端和系統自帶的導航條重合了,高度的不正確我們需要重置修正它,通過javascript代碼重置掉:

  1. document.documentElement.style.height = window.innerHeight + 'px'

B、疊加區高亮

在部分android機型中點擊頁面某一塊區域可能會出現如圖所示的黃色框秒閃,這是部分機型系統自身的默認定制樣式,給該元素一個CSS樣式重置掉:

  1. -webkit-tap-highlight-color:rgba(0,0,0,0); 

2、行為

A、事件無法被觸發

在部分android機型的微信環境中會出現事件無法觸發、表單無法輸入的情況,我們針對需要輸入或者觸發事件的元素設置樣式:-webkit-transform: translate3d(0,0,0) ,不過新版本的微信已經直接修復了該問題。

B:active 效果不兼容

在android 4.0版本以下CSS :active偽狀態效果無法兼容,我們給該元素的touch系列的事件(touchstart/touchend/touchmove)綁定一個空匿名方法:

  1. var element=document.getElementsById(”btnShare”); 
  2. element.addEventListener(‘touchstart’,function(){},false); 

 

3、應用

A、瀏覽器崩潰

  1. var act = function(){ 
  2.     window.removeEventListener('devicemotion',act); 
  3. }; 
  4. window.addEventListener('devicemotion',act,false); 

解綁函數寫在了事件處理中導致小米手機中的微信崩潰,那么我們不要將解綁時間寫在事件處理中即可。

B、預加載、自動播放無效

如上表所示,經過簡單的測試發現預加載、自動播放的有效性受操作系統、瀏覽器(webview)、版本等的影響,蘋果官方規定必須由用戶手動觸發才會載入音頻,那么我們捕捉一次用戶輸入后,讓音頻加載實現預加載:

  1. //play and pause it once 
  2.  
  3. document.addEventListener('touchstart'function () { 
  4.  
  5.  document.getElementsByTagName('audio')[0].play(); 
  6.  
  7.  document.getElementsByTagName('audio')[0].pause(); 
  8.  
  9. }); 

C、無法同時播放多音頻

[[124215]]

在android設備中,播放后一音頻會打斷前一音頻,而不會同步播放,這個是目前系統資深決定的,我們只有采取優雅降權的方法讓android選擇不一樣風格的音頻前后切換播放而不是同時播放,達到與預期接近的音頻效果。

D、不支持局部滾動

在android 4.0版本以下在body(html)元素之外的元素 overflow:scroll 樣式設置滾動條無效,這里有兩種解決方案:

1、巧用布局直接設置樣式滾動條在body(html)上,其他元素“錯覺滾動”。

2、利用iscroll、自寫js控制translate、scrollTop模擬。

4、系統/硬件

A、怪異懸浮的表單

在部分android 機型中的輸入框可能會出現如圖怪異的多余的浮出表單,經過觀察與測試發現只有input:password類型的輸入框存在,那么我們只要使用input:text類型的輸入框并通過樣式-webkit-text-security: disc; 隱藏輸入密碼從而解決。

B、錯誤出現滾動條

在游戲內嵌頁中出現了不應該出現的滾動條,而且內容并沒有超出內容區寬度,經過測試overflow:hidden 無效,通過一系列嘗試使用古老的 <body scroll="no"> 寫法解決,多嘗試一下不同的寫法和屬性會有不一樣的驚喜哦!

C、鏈接打開系統瀏覽器

在游戲內webview的部分android機型中可能會出現點擊鏈接調用系統瀏覽器的情況,這是一個非常不好的體驗。那么我們嘗試給這個元素添加 target="_blank"' 屬性有可能解決,如果還不能解決那么需要修改IOS或android原生系統函數了。

D、Flex box 不兼容

在游戲內嵌webview中碰到Flex box布局不兼容的情況,圖中所示下面部分的導航錯位了,雖然之前有仔細查看過Flex box的兼容性,但是在游戲內嵌頁中無法確定其調用的系統瀏覽器版本及兼容,所以導致錯誤,所以我們寫完整歷史版本呢的3種Flex box 解決。那么我們思考在寫頁面過程中還是本著保守穩定的方式書寫樣式可以減少不不要的麻煩。

面對這么多坑,還有各種各樣已經的和未知的坑,時間上也不可能一一講完,更不可能都已經有解決方案,我們需要學會如何去解決坑:

解決坑首先自己需要有個強有力的執行力,通過不斷去嘗試來探索未知的問題,那么一般我們會通過哪些方式哪些步驟和技巧來嘗試呢?

1、首先我們需要定位問題,我們可以使用下列方法:

ADOM隔離定位法

不斷由大范圍到小范圍隔離出DOM,從而找出、觸發問題的DOM元素

B、樣式、JS剔除法

不斷剔除一些JSCSS觀察調試檢查是否是由部分JSCSS屬性引起問題

C、多運行環境測試法

在多環境中測試,排查是否是由于特定環境引起

DPC與手機聯合調試法

聯合PC與手機進行定位,如:通過Mac遠程調試iPhone/iPad

2、我們解決問題可以嘗試如下的方式:

* 嘗試、轉思維、繞解決

* 優雅降權、區分處理、溝通

* 搜索與提問......

和以下的思維:

* 替代

* 繞道

* 分割......

3、在解決問題的過程中我們需要學會利用搜索和溝通資源解決問題:

Agoogle

Bstackoverflow

C、同事、朋友、QQ群、論壇等

Googlestackoverflow讓你更容易更精確的快速搜索出問題相關的資料,同時、朋友QQ群、論壇等讓你可以直接的跟人溝通出別人所遇到的問題及解決方案。

在發現、解決問題后,更重要的是要學會如何總結問題:

A、總結記錄問題產生條件、解決方法和解決過程

B、盡可能分析原理、產生的條件,避免重蹈覆轍

C、分享給更多的人

無窮無盡的坑,走的人多了,總結分享的多了,坑也就越來越平了

我們在總結記錄問題的同時,整理了一個移動端小貼士,記錄問題與一些坑,雖然目前還不完善但是希望能分享給更多的人也希望更多的人能參與完善。

鏈接: https://github.com/tgideas/mtips

責任編輯:閆佳明 來源: 騰訊TGideas
相關推薦

2015-09-07 10:15:53

移動端開發

2021-07-05 07:55:11

PC端移動端設計

2018-10-31 11:30:28

Redis數據分布式鎖

2015-04-13 17:39:11

移動IM開發

2014-08-05 14:31:39

移動設備頁面尺寸

2020-03-24 14:55:48

Spring Boot多模塊Java

2014-05-26 16:52:29

移動前端web組件

2015-07-06 09:55:40

W3C動端頁面查錯

2022-05-25 11:24:25

CalendarNutUI移動端

2015-12-09 10:24:23

數據輸入存儲

2017-09-08 16:45:14

移動

2013-09-04 14:49:10

移動Web前端開發設計理念

2012-10-23 13:55:57

為什么要用你的服務呢?

2022-01-26 12:28:48

移動端彈窗滑動

2017-10-30 12:38:49

APP移動端網頁

2012-06-14 16:04:56

移動端圖片分享

2016-03-21 10:05:18

2017-01-19 19:43:53

2022-06-09 15:53:16

移動端渲染GPU

2023-04-12 08:18:40

ChatGLM避坑微調模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚欧午夜 | 在线观看免费av网站 | 一级做a爰片性色毛片视频停止 | 欧美一区二区视频 | 国产免费一区二区三区 | 视频一区 亚洲 | 黄视频网站在线 | 亚洲欧美日韩中文在线 | 久久麻豆精品 | 91久久精品国产91久久性色tv | 99成人免费视频 | 天堂久久av| 一级在线观看 | 一区二区三区视频在线观看 | 亚洲精品久久久久中文字幕欢迎你 | 久久久九九九九 | 亚洲精品久久久久久一区二区 | 日本中文字幕在线视频 | 日本三级全黄三级三级三级口周 | 福利一区二区在线 | 国产乱肥老妇国产一区二 | 国产大学生情侣呻吟视频 | 99re在线免费视频 | 男女视频在线观看免费 | 日韩中文字幕一区二区三区 | 亚洲一区视频在线 | 欧美精品一区三区 | 日本精品裸体写真集在线观看 | 欧美日韩精品一区 | 亚洲精品久久久蜜桃 | 天天干天天玩天天操 | 精品久久久久香蕉网 | 日韩欧美在线免费观看 | 日本免费一区二区三区四区 | 人妖av| 亚洲黄色网址视频 | 免费精品久久久久久中文字幕 | 欧美激情一区二区 | 99在线免费观看 | 粉嫩一区二区三区四区公司1 | 亚洲狠狠 |