移動端html5問題總結

來源:互聯網
上載者:User

標籤:體驗   input   最小   網路資源   data   背景圖   start   低版本   連續   

1,開發時碰到了哪些技術問題

1)低版本手機不支援es6,使用babel

2)引入百度地圖js api時,需要使用https協議,否則不能正常使用API。在iOS 10中,蘋果對webkit定位許可權進行了修改,所有定位請求的頁面必須是https協議的

3)<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

強制讓文檔的寬度與裝置的寬度保持1:1,並且文檔最大的寬度比例是1.0,且不允許使用者點擊螢幕放大瀏覽;加上這一句input擷取焦點時頁面不會放大

4)在公眾號中,input擷取焦點時,頁面上方會提示就會提示“防欺詐盜號,請勿支付或輸入QQ密碼”。在公眾平台的管理後台設定業務網域名稱即可解決

5)<form action="#" @submit="doSearch"><input type="search"/></form>

//點擊鍵盤的搜尋按鈕即可觸發form的submit事件  e.preventDefault();//阻止表單預設事件

移動端的鍵盤右下角顯示“搜尋”(安卓)或“Search"(蘋果)按鈕,點擊該按鈕即可提交表單

6)頁面列表上拉載入,實現分頁,縮短請求時間

監聽頁面滾動事件,判斷捲軸離頁面底部的距離,然後距離達到一定的值,向服務端發請求。將請求的結果拼接在原有的列表後面,即可實現上拉載入分頁。

7)移動端html5拖拽

當按下手指時,觸發ontouchstart;當移動手指時,連續地觸發ontouchmove(在這個事件發生期間,調用preventDefault()事件可以阻止滾動);當移走手指時,觸發ontouchend。

onclick只在你快速點擊並放開才會被執行,如果你點擊一個地區,很遲才放開,那麼onclick是不會執行的(touchstart->...->touchend)

執行順序是ontouchstart > ontouchend > onclick

個人觀點:移動端不能使用HTML5拖放實現拖拽效果(ondragstart...),可以使用touch事件

8)ios上頁面滾動不流暢

-webkit-overflow-scrolling: touch;

 9)ios上背景圖片閃爍載入問題(原因暫時不詳)

var cvs = document.createElement(‘canvas‘);
cvs.width = 5; cvs.height = 2;cvs.toDataURL();
這句話放在瀏覽器執行一下,就得出了base64的字串。
<img class="blur-bg" :style="{backgroundImage: ‘url(‘+picUrl+item.merLogo+‘)‘}" src="data:image/png;base64,iVBORw0..."/>

 

2,移動端提高使用者的體驗度

1)通過上拉載入分頁,縮短請求時間

2)減少等待,反饋及時

當不可避免的出現了載入和等待的時候,需要予以及時的反饋以舒緩使用者等待的不良情緒。如:向服務端發請求時顯示“載入中”彈框,請求完成關閉該彈框;當請求的資料為空白時,在頁面上提示查詢無記錄等,避免出現空白頁面,讓使用者以為應用卡死。

3)明確直觀的的結果提示,如報錯

除了在使用者等待的過程中需予以及時反饋外,對操作的結果也需要予以明確反饋。彈出式提示(Toast)適用於輕量級的成功提示,1.5秒後自動消失,並不打斷流程,對使用者影響較小,適用於不需要強調的操作提醒,例如成功提示。特別注意該形式不適用於錯誤提示,因為錯誤提示需明確告知使用者,因而不適合使用一閃而過的彈出式提示。對於操作結果已經是當前流程的終結的情況,可使用操作結果頁來反饋。這種方式最為強烈和明確的告知使用者操作已經完成,並可根據實際情況給出下一步操作的指引。

4)減少 HTTP 資源請求次數&減小 HTTP 要求大小

使用構建工具如webpack來合并JavaScript 或 CSS 代碼,壓縮靜態圖片資源以及移除代碼中的注釋並壓縮;

5)把 CSS 資源引用放到 HTML 檔案頂部;JavaScript 資源引用放到 HTML 檔案底部

一般推薦將所有 CSS 資源儘早指定在 HTML 文檔 <head> 中,這樣瀏覽器可以優先下載 CSS 並儘早完成頁面渲染。

JavaScript 資源放到 HTML 文檔底部可以防止 JavaScript 的載入和解析執行對頁面渲染造成阻塞。由於 JavaScript 資源預設是解析阻塞的,除非被標記為非同步或者通過其他的非同步方式載入,否則會阻塞 HTML DOM 解析和 CSS 渲染的過程。

6)相對於案頭端瀏覽器,移動端 網頁瀏覽器上有一些較為明顯的特點:裝置螢幕較小、新特性相容性較好、支援一些較新的 HTML5 和 CSS3 特性、需要與 Native 應用互動等。但移動端瀏覽器可用的 CPU 計算資源和網路資源極為有限,因此要做好移動端 Web 上的最佳化往往需要做更多的事情。首先,在移動端 Web 的前端頁面渲染中,案頭瀏覽器端上的最佳化規則同樣適用,此外針對移動端也要做一些極致的最佳化來達到更好的效果。

7)首屏載入和按需載入,非首屏內容滾屏載入,保證首屏內容最小化

由於移動端網路速度相對較慢,網路資源有限,因此為了儘快完成頁面內容的載入,需要保證首屏載入資源最小化,非首屏內容使用滾動的方式非同步載入。一般推薦移動端頁面首屏資料展示延時最長不超過3秒。

8)圖片壓縮處理

在移動端,通常要保證頁面中一切用到的圖片都是經過壓縮最佳化處理的,而不是以原圖的形式直接使用的,因為那樣很消耗流量,而且載入時間更長。

9)使用 touchstart 代替 click

由於移動端螢幕的設計, touchstart 事件和 click 事件觸發時間之間存在 300 毫秒的延時,所以在頁面中沒有實現 touchmove 滾動處理的情況下,可以使用 touchstart 事件來代替元素的 click 事件,加快頁面點擊的響應速度,提高使用者體驗。但同時我們也要注意頁面重疊元素 touch 動作的點擊穿透問題。

移動端html5問題總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.