麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 網頁設計 > 正文

響應式WEB設計學習(3)―如何改善移動設備網頁的性能

2024-08-30 08:34:59
字體:
來源:轉載
供稿:網友

前言

移動設備由于受到帶寬、處理器運算速度的限制,因而對網頁的性能有更高的要求。究竟是網頁中的何種元素拉低了網頁在移動設備中加載的速度呢?這些元素應該做何處理以提升頁面在移動設備中的整體性能?是否存在一種設計模式可以同時滿足移動端及桌面端的頁面設計呢?

本文目錄:

1、桌面網頁的性能檢測

2、移動設備中網頁的性能檢測

3、移動設備網頁的性能瓶頸

4、如何改善移動設備網頁的性能

5、什么是Mobile-first Responsive Web Design和Progressive Enhancement

正文

1、桌面網頁的性能檢測

桌面瀏覽器使用的頁面可以利用一個插件來檢測,名為Yslow。Firefox和chrome上都有這個插件。它是Yahoo主導的一個項目,地址是: https://github.com/marcelduran/yslow/wiki

在chrome中安裝完YSlow以后,我們打開sina的首頁測試一下:

正在加載網頁組件……

加載完以后會出來一個分析結果:

可以看到給出來的分數是D級,62分。

YSlow有一套檢驗頁面性能的標準,它會根據標準里面的每一條來檢測這個網頁,并且根據情況對該網頁給出評級和建議。如新浪首頁得到的評級和建議分別是:

我們來看看其中的第一條,Make fewer HTTP request給出的具體建議:

Grade F on Make fewer HTTP requests

This page has 19 external Javascript scripts. Try combining them into one.
This page has 33 external background images. Try combining them with CSS sprites.


Decreasing the number of components on a page reduces the number of HTTP requests required to render the page, resulting in faster page loads. Some ways to reduce the number of components include: combine files, combine multiple scripts into one script, combine multiple CSS files into one style sheet, and use CSS Sprites and image maps.

可以看到新浪首頁的外鏈JS文件很多,這會導致很多的HTTP請求。過多的HTTP請求會降低網頁的加載速度。

再來看看新浪得到A的條條,比如 Use GET for AJAX requests,得到的夸獎是:

When using the XMLHttpRequest object, the browser implements POST in two steps: (1) send the headers, and (2) send the data. It is better to use GET instead of POST since GET sends the headers and the data together (unless there are many cookies). IE's maximum URL length is 2 KB, so if you are sending more than this amount of data you may not be able to use GET.

新浪其實在很多條條上是做得很好的。不過還是有可以改進的空間。

2、移動設備中網頁的性能檢測

桌面瀏覽器可以輕松的安裝插件來檢測網頁的性能,但是移動端的瀏覽器就不行了。如果想分析某個mobile webpage的性能只有一種方法,那就是分析它路由時候的HTTPRequest和HTTPResponse。大牛們可以試試使用proxy server來讀route log分析。不過現在有另外一個選擇,那就是使用Blaze。它是一個免費的手機頁面性能分析服務,不過一次只能服務一個請求,所以可能需要等待一些時間,不像YSlow那么快。不過得出的性能分析還是不錯的。

Blaze的地址是 http://mobitest.akamai.com/m/index.cgi

我們用3g新浪來做測試:

在地址欄中輸入3g新浪的地址,然后在后面選擇設備的類型。device和location現在都只有兩種選擇。國內其實也可以開發一個這樣的web 服務。

輸入好參數后點擊

然后就會進入分析,這個過程可能需要幾分鐘的時間。等待的長度取決于在你前面排了多少個分析請求……這個網站一次只能分析一個頁面。

結果出來后,會摘要性地顯示這個web頁面的平均加載時間和大小:

可以看到3g新浪即使在境外的加載速度也是可以接受的,而且頁面大小很小。

我們可以看一下更進一步的性能分析(點擊查看HAR報告-HAR:HTTP Archive Report):

可以查看一下統計信息

圖片還是占了很大一部分頁面流量。另外,JS和頁面文本本身的大小幾乎是相同的,說明3g新浪還是很倚重js的。

現在再用它來試試用移動設備瀏覽器打開正常的新浪首頁會發生什么:

可以看到,頁面會出現一個提示,建議用戶使用手機觸屏版的新浪。

我們再來看看HAR文件,看看它是怎么做到這一點的。

可以看到頁面請求先被發送到了一個PWS服務器(微軟推出的個人web服務器)上,然后該請求被重定向(狀態碼302)至另一個地址(http://sina.cn)。這些不是關鍵,看到下面的Request頭部中,user-agent給出了發出這個請求所在的設備以及該設備運行的操作系統類型。可以猜想新浪就是利用了這個信息來做判斷,以提示用戶轉用觸屏版的sina。

3、移動設備網頁的性能瓶頸

分析了若干個頁面統計,基本上都類似于下列分布:

移動設備網頁的性能顯然受到圖片文件的影響(HTML文件和JS文件的大小也不容小覷)。另外,如果頁面中含有嵌入式的代碼,如google地圖等,也會額外加載很多你預期之外的內容從而導致網頁速度變慢。

4、如何改善移動設備網頁的性能

改善移動設備的網頁性能也要從圖片和嵌入代碼塊(google地圖)入手。

4.1 如何縮小圖片的大小以提高移動設備的訪問速度?

分為兩種情況:

情況一:圖片是在CSS中,以background形式給出鏈接

那么可以使用PS等軟件將圖片的質量降低以降低圖片的大小。

情況二:圖片是在HTML文件中以img標簽形式給出

對于這種情況,就不能使用替代文件的方式了。因為圖片本身可能就不是你服務器提供的,而是外鏈圖片。對于這種情況,可以使用如下方法進行改進:

原來的HTML代碼片段:

復制代碼
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91综合在线观看 | 久久精品国产一区二区电影 | av在线视 | 久色亚洲| 免费a视频 | www日韩在线观看 | chinese乱子伦xxxx国语对白 | 27xxoo无遮挡动态视频 | 精品黑人一区二区三区国语馆 | 中文字幕线观看 | 一级大片一级一大片 | 免费黄色大片在线观看 | 欧美精品久久天天躁 | 免费一级欧美大片视频 | 欧美在线黄色 | 色播久久 | 一本色道久久综合亚洲精品图片 | 黄色片在线观看网站 | 99影视在线视频免费观看 | 成人视屏网站 | 国产一国产一级毛片视频在线 | 男男羞羞视频网站国产 | 欧美另类69xxxxx 视频 | 午夜视频在线免费观看 | 国产小视频在线观看 | 天天草夜夜爽 | 神马福利网 | 成人在线观看小视频 | 成人444kkkk在线观看 | 国产精品久久77777 | 一级片久久免费 | 免费看成人av | 欧美黄成人免费网站大全 | 成人国产精品久久久 | 99热1| 在线成人一区 | 老女人碰碰在线碰碰视频 | 欧美三级短视频 | 激情宗合网 | 成人男男视频拍拍拍在线观看 | 视频一区二区在线播放 |