1. 程式人生 > >移動端開發應該注意的知識點

移動端開發應該注意的知識點

font-weight的屬性設定

在寫css的時候,如果給font-weight的屬性值為600,600的意思是加粗,但是這個加粗在android上不起效果,在ios起效果。

最好這樣設定font-weight的屬性:(bold)

.fontWeight {
	font-weight: bold;
}

關於meta標籤的作用

<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragram" content="no-cache">
  1. http-equiv的意思,就是在服務端向瀏覽器傳送HTML網頁的時候,加到http頭的資訊。比如上面的Cache-Control的值為no-transform,意思就是中間代理不應該進行轉碼操作。
  2. cache-control的意義,就是我們的網頁,應該以什麼樣的方式,進行快取。常用的值有no-cache,no-store,max-age,max-stale,public,private,min-fresh,only-if-catched,must-revalidate。
  3. expires的意義,就是為我們的網頁,設定了一個過期時間,這個過期時間,有這麼幾個常用的值,off,max,epoch,-1。其中預設值為off。表示不會修正expires和cache-control的值。但是expires的一個缺點,就是它是針對本地時間進行過期時間的設定,所以我們一定要保證,本地時間與服務端的時間一定是同步的。
  4. pragram的意義,它出現的比cache-control更早,意義等同於cache-control:no-cache。
<meta name="description" content="免費線上教程">
<meta name="keywords" content="HTML,CSS,XML,JavaScript">
<meta name="author" content="runoob">
<meta charset="UTF-8">

name在meta標籤象徵著一個主題,比如keywords,表示這個網頁是和什麼是相關的,而搜尋引擎會根據keywords的內容,對網頁進行分類,解析等操作。

description,表示對該網頁進行的一種描述資訊。

charset,表示網頁的編碼格式是什麼。

快取相關的知識

cache-control的屬性值,所代表的不同意義。

cache-control,一般會用在兩個地方,一個地方是html網頁的meta標籤中,另一個是我們的http的頭部的快取設定。

1,public:表明響應內容,可以被任何物件快取。(包括代理伺服器,傳送的請求客戶端)。

2,private:表示只能被自己快取,不能被其他的物件進行快取,比如代理伺服器等。

3,no-cache:每次請求發出,必須先向服務端進行驗證,驗證的方式有ETag和Last-modified。

4,no-store:表示在任何情況下,都不進行快取,必須重新向服務端獲取最新的資料。

5,only-if-cached:表明客戶端只接受已快取的響應,並且不要向服務端傳送驗證快取的請求。

6,max-age:表示過期時間為多少s。它有一個好處,就是在服務端和本地的時間不統一的狀態下,也能保證狀態更新的同步。

7,must-revalidate:表示已快取的東西,必須要在服務端進行快取驗證的請求。

8,max-stale:表示客戶端願意接收一個過期的資源,這個時間的設定,表示響應不能超過的過期時間。

圖片等靜態資源的快取策略

第一種靜態資源:HTML
一般而言,我們對HTML不進行快取設定,Cache-Control一般的設定值為no-cache,no-tansform,must-revalidate等。

第二種靜態資源:js,css,image等
這一類的靜態資源,在部署到服務端的時候,會配置一個過期時間。前端在專案打包的時候,會自動變更css,js檔案的名字,這時候路徑名會改變,然後我們的js,css等檔案會自動載入。

關於快取策略的實現方式ETag和Last-modified

一,Last-modified
  望文知義,根據這個詞條的直譯應該是上次修改(時間),通過修改伺服器端的檔案後再請求,發現response的header中的Last-modified改變了

更新原理:

1、在瀏覽器首次請求某個資源時,伺服器端返回的狀態碼是200 (ok),內容是你請求的資源,同時有一個Last-Modified的屬性標記(Reponse Header),標識此檔案在服務期端最後被修改的時間,格式:Last-Modified:Tue, 24 Feb 2009 08:01:04 GMT

2、瀏覽器第二次請求該資源時,根據HTTP協議的規定,瀏覽器會向伺服器傳送If-Modified-Since報頭(Request Header),詢問該檔案是否在指定時間之後有被修改過,格式為:If-Modified-Since:Tue, 24 Feb 2009 08:01:04 GMT

3、如果伺服器端的資源沒有變化,則伺服器返回304狀態碼(Not Modified),內容為空,這樣就節省了傳輸資料量。當伺服器端程式碼發生改變,則伺服器返回200狀態碼(ok),內容為請求的資源,和第一次請求資源時類似。從而保證在資源沒有修改時不向客戶端重複發出資源,也保證當伺服器有變化時,客戶端能夠及時得到最新的資源。

二,ETag

ETag是http/1.1中增加的Header,Http協議規格說明ETag的意義就是“被請求變數的實體值”,另一種說法是ETag是web資源關聯的記號(token)。

更新原理:

1、當瀏覽器首次請求資源的時候,伺服器會返回200的狀態碼(ok),內容為請求的資源,同時response header會有一個ETag標記,該標記是伺服器端根據容器(IIS或者Apache等等)中配置的ETag生成策略生成的一串唯一標識資源的字串,ETag格式為 ETag:“856247206”

2、當瀏覽器第2次請求該資源時,瀏覽器會在傳遞給伺服器的request中新增If-None-Match報頭,詢問伺服器改檔案在上次獲取後是否修改了,報頭格式:If-None-Match:“856246825”

3、伺服器在獲取到瀏覽器的請求後,會根據請求的資源查詢對應的ETag,將當前伺服器端指定資源對應的Etag與request中的If-None-Match進行對比,如果相同,說明資源沒有修改,伺服器返回304狀態碼(Not Modified),內容為空;如果對比發現不相同,則返回200狀態碼,同時將新的Etag新增到返回瀏覽器的response中。

相關推薦

移動開發應該注意知識點

font-weight的屬性設定 在寫css的時候,如果給font-weight的屬性值為600,600的意思是加粗,但是這個加粗在android上不起效果,在ios起效果。 最好這樣設定font-weight的屬性:(bold) .fontWeight {

移動開發需要注意

1、防止手機中網頁放大和縮小,這點是最基本的,最為手機網站開發者來說應該都知道的,就是設定meta中的viewport 使用viewport使頁面禁止縮放。 通常把user-scalable設定為0來關閉使用者對頁面檢視縮放的行為。 <meta name="viewport" co

H5移動開發-CSS知識點

1、z-index屬性 設定物件的層疊順序,integer值,值越大,則被層疊在越上面。MUI框架中就是利用此屬性來實現抽屜選單。 leftMenu = mui.preload({ url:'index-menu.html', id:'index-menu',

H5移動開發-JavaScript知識點

1、匿名函式(不帶引數) (function(){ alert('警告'); })(); 2、匿名函式(帶引數),其中“$”為引數名。 (function($){ alert('$'); })('警告'); 注:第一個小括號有返回值,返回一個函式,

移動開發過程中需要注意的問題

1、防止手機中網頁放大和縮小,這點是最基本的,最為手機網站開發者來說應該都知道的,就是設定meta中的viewport <meta name="viewport" content="width=device-width, initial-scale=1.0, max

web移動開發技巧與注意事項彙總

一、meta的使用 1、<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-sca

移動那些事兒(一)移動開發注意事項

對於手機網站建設,總結了如下幾點注意: 1、 安卓瀏覽器看背景圖片,有些裝置會模糊。 用同等比例的圖片在PC機上很清楚,但是手機上很模糊,原因是什麼呢? 經過研究,是devicePixelRatio作怪,因為手機解析度太小,如果按照解析度來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的9

正在做移動開發的同志們注意了!!!

        正在開發app的同志們注意了說到APP開發,大家會想到以IOS、Android的純原生開發;而在這個app橫飛的年代,對於整個產品研發團隊或個人來講,高速的迭代,爆炸式的功能追加已經成為網際網路行業的時代標籤,常常以小時甚至分鐘為單位的進度度量成為了常態。早在2010年的時候,喬布斯就預言HT

移動開發注意

1、display:inline-block代替float:left; 2、請保證將每條資料都放在一個a標籤中,為何這樣做?因為在觸控手機上,為提升使用者體驗,儘可能的保證使用者的可點選區域較大; 3、浮動元素寬度自適應,變成快級元素; 4、常用標籤:st

移動開發注意事項、需要注意的問題、特殊屬性、精靈圖、座固定有自適應的佈局

一、移動端開發注意事項 二、關於meta     (一)、常用的公共meta屬性 1、viewport <meta name="viewport"content="width=device-width,initial-scale=1.0,maximum-s

移動頁面應該使用什麽字體?

方正 效果 list 數字 androi mod 中文 線上 使用 設計師們通常喜歡用微軟雅黑作為中文字體進行設計,於是我寫頁面的時候也定義font-family為微軟雅黑,後來發到線上後,發現頁面的字體不是微軟雅黑,後來了解到的手機系統 ios、android

移動開發用touch事件還是click事件

device 問題 桌面網站 有意義 用戶 雨後春筍 phone 平臺 系統 前端開發現在包含了跨瀏覽器,跨平臺(不同操作系統)和跨設備(不同尺寸的設備)開發。 在移動開發的過程中,到底選取touch事件還是click事件?對了,請不要鄙視click,click在移動端開發

關於移動開發時iOS上滑屏卡頓的問題,以及電話類數字的樣式失控問題

img 頁面 通話 tips rem span cti 解法 並不是 寫在前面的話:   tips:寫移動的時候,那些頭部需要固定顯示在顯示屏頂部的,通常在PC端我會用fixed來寫。但是,在移動端,這並不是一個好方法,因為彈出輸入小鍵盤的時候,會造成fixed 的元素偏移

移動開發流程分享

規範 文檔 alt 計劃 技術分享 自動化測試 理想 流程 image 1.由於產品及UI能力限制,不能達到理想狀態,從以往項目開發中總結發現,在開發及測試周期中發現需求缺陷問題,需要花費大量的溝通成本,導致項目周期有所影響並嚴重影響開發效率和開發質量,解決方案:再產品需求

手機移動開發註意事項:

apple input元素 交互設計 代碼 文字 box webkit ack 包括 1、meta 標簽使用 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, u

探究移動開發

這樣的 ips AMF js設置 密度 hone 背景 設置 htm   什麽使移動端開發呢?這就是在手機等移動端設備上的網頁開發。 並且現在手機上的app有一部分也是h5頁面,對於Android系統的手機,我們打開手機上的開發者選項,開啟顯示布局邊界,如果發現頁面有布局則

移動開發註意事項

ror ng- wid 手動 ade scale conf storm 轉換 移動端開發中需要註意的事項,以及可能需要用到一些框架,尾部總結了一些主流框架,如果你覺得有用的話,請點擊推薦,謝謝! 一、關於meta 常見的公共meta屬性: 1、viewport <m

移動開發經常遇見的問題以及解決方案

誤差 cli 輸入關鍵詞 水平居中 arch asi 服務器 color del 1.移動端左右滑動右側有留白 出現這種問題的話查看一下自己的css中有沒有用到position:relative或者position:absolute,我做頁面的時候經常遇到這個問題,百分之

vue移動開發全家桶

高效 listener loading match ui組件 attribute lis click status 一句命令搞定全家桶: npm install vue-router vue-resource vuex --save main.js配置: impo

移動開發中模擬手機測試小技巧

小技巧 erl windows ati 頁面效果 cal ora 分享 地址 情景:在開發移動端情況下,pc看到的效果有時於真實手機裏看到的效果可以不大一樣,將代碼發送到服務器再去測試又太麻煩, 這時,下面的小技巧可能就比較有用了,前提需要 pc跟手機一部,並且