超文本標記語言移動站(HTML MOVEL STATION)是指根據你使用的移動終端,適合你的網站類型。你可以把它理解為你電腦網站的移動版本。
你為什么想成為一個移動電話站?
客戶經常會問,他們的手機可以訪問哪些計算機網站,為什么他們需要成為手機網站?智能手機訪問該網站的電腦版沒有問題,但目前仍有大量用戶使用非智能手機。雖然火狐、chrome等瀏覽器也能達到訪問的效果,但呈現的網頁非常凌亂,不能給用戶帶來好的體驗。智能手機也很難通過瀏覽器縮放功能獲得良好的瀏覽體驗,智能手機訪問計算機網頁的速度遠低于訪問移動網頁的速度。在手機互聯網流量昂貴的環境中,手機版本為用戶節省了流量。
HTML5移動站建設的優勢:
1、手機網站擁有良好的移動體驗
當用戶使用移動瀏覽器訪問您的網站時,他不會出現在您的電腦網站上,但會自動檢測到使用該設備后顯示的html移動臺。該網站更加符合移動終端的操作習慣,使用起來更加流暢。
2、手機網站的推廣成本低
推廣一個html移動電話站只需要很少的成本。用戶只要連接到互聯網,就可以掃描代碼或輸入網址來直接訪問體驗。與應用程序相比,應用程序也需要復雜的操作,如下載應用程序,用戶更愿意擁有html的初始試用體驗。
3、手機網站建設速度很快。
超文本標記語言已經存在多年,其發展技術已經成熟,這也為超文本標記語言手機站的發展速度提供了一定的保證。如果開發一個應用需要至少2個月的時間,那么html手機站需要的時間不到一半。
4、手機網站建設成本低
由于成熟的html網站建設技術,這種類型的網站建設成本通常比今年才開始的APP開發成本更便宜、更實惠。
說,華麗的HTML5浪潮已經打濕了眾多網站設計師,而且還將繼續在國內刮起龍卷風。
首先,HTML5的出現會使得手機中的原生態APP減少。因為HTML5能夠產生一種假的APP,使得用戶無需下載安裝APP,而是通過利用手機瀏覽器運行。
第二,HTML5的出現大大節省了人們的開發成本。因為它通吃PC、Mac、iPhone、iPad、Android、Windows Phone等跨語言平臺。程序員們再也不必為不同款的手機做不同的APP了。
第三,HTML5的出現使得手機里可以不用再有Flash了。因為HTML5就有這種魔力使得我們觀看多媒體時不必安裝Flash等第三方插件。
第四,由于第三方插件的減少,手機得到了減肥瘦身,那么手機電量自然也會相對持久一些。
第五,HTML5使得手機定位服務更便捷,因為它實現了基于地理位置的功能,想定位,直接點擊“附近”就能輕松搞定。
第六,HTML5使得設計師們可以設計出更加美觀、更加炫酷的網頁,創造出更加有強大視覺效果的界面。
看到這里,你對HTML5動心了嗎?下面為大家介紹一個HTML5的酷炫功能——定位系統!
Geolocation
HTML5 的 geolocation 是一個令人興奮的 API,通過這套 API,Javascript 代碼就能夠訪問到用戶的當前位置。當然,訪問之前必須得到用戶的明確認可,即同意在頁面共享位置。如果頁面嘗試訪問地理位置信息,瀏覽器就會顯示一個對話 框,請求用戶許可共享其地理位置信息,比如這樣:
用戶同意(允許)之后,Geolocation 的 api 就能起作用了。
getCurrentPosition 方法
Geolocation API 在瀏覽器中的實現是 navigator.geolocation 對象,這個對象包含 3 個方法。第一個方法是 getCurrentPosition,調用這個方法就會觸發請求用戶共享地理定位信息的對話框。這個方法接收 3 個參數:成功回調函數,可選的失敗回調函數和可選的選項對象。
其中,成功回調函數會接收到一個 Position 對象參數,該對象有兩個屬性:coords 和 timestamp。而 coords 對象中將包含下列與位置相關的信息。
latitude:以十進制度數表示的維度
longtitude:以十進制度數表示的經度
accuracy:經緯度坐標的精度,以米為單位
有些瀏覽器可能會在 coords 對象中提供如下屬性。
altitude:以米為單位的海拔高度,如果沒有相關數據則值為
altitudeAccuracy:海拔高度的精度,以米為單位,數值越大越不精確
heading:指南針的方向,0°表示正北,值為 NaN 表示沒有檢測到數據
speed:速度,即每秒移動多少米,如果沒有相關數據則值為
說了這么多,我們來簡單應用下,寫一段代碼獲取當前的經緯度,然后輸出:
navigator.geolocation.getCurrentPosition(geo_success, geo_error);
function geo_success(position) {
console.log(position.coords.latitude, position.coords.longitude);
}
function geo_error(msg) {
console.log(msg.code, msg.message);
}
代碼很簡單,如果請求成功了就執行 geo_success 函數,打印經緯度,如果失敗了,輸出一些信息(失敗回調)。
getCurrentPosition 的第二個參數,即失敗回調函數,在被調用的時候也會接收到一個參數。這個參數是一個對象,包含兩個屬性:message 和 code。 其中,message 屬性中保存著給人看的文本消息,解釋為什么會出錯,而 code 屬性中保存著一個數值,表示錯誤的類型:用戶拒絕共享(1),位置無效(2)或者超時(3)。實際開發中,大多數 Web 應用只會講錯誤消息保存到日志文件中,而不一定會修改用戶界面。
我們在 PC 端的 chrome 瀏覽器中執行這段代碼,結果是令人遺憾的:
掐指一算,估計是被墻了... 事實上,以 Chrome 瀏覽器為例,如果您允許 Chrome 瀏覽器與網站共享您的位置,Chrome 瀏覽器會向 Google 位置服務(此環節被墻)發送本地網絡信息,估計您所在的位置。然后,瀏覽器會與請求使用您位置的網站共享您的位置。
接著在 Android 機上測試了下,沒被墻,畢竟谷歌是 Android 的親爹啊。打印出來的信息如下:
31.188199 121.632919
當然只是知道經緯度或許不太那么直觀,如果能把位置顯示在地圖上那就直觀多了!這里我用了高德地圖的API(猛戳這里看效果):
<!doctype html>
<html>
<head>
<meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>地圖顯示</title> <link rel="stylesheet" />
<script src="http://webapi.amap.com/maps?v=1.3&key=您申請的key值"></script> </head> <body> <div id="mapContainer"></div>
<script> navigator.geolocation.getCurrentPosition(geo_success, geo_error); function geo_success(position)
{ var map = new AMap.Map('mapContainer',
{ // 設置中心點 center: [position.coords.longitude, position.coords.latitude], // 設置縮放級別 zoom: 13 });
var marker = new AMap.Marker
({ //復雜圖標 icon: new AMap.Icon({ //圖標大小 size: new AMap.Size(28, 37), //大圖地址 image: "http://webapi.amap.com/images/custom_a_j.png",
imageOffset: new AMap.Pixel(-28, 0) }), //在地圖上添加點 position: [position.coords.longitude, position.coords.latitude] }); marker.setMap(map); }
function geo_error(msg) { console.log(msg.code, msg.message); } </script> </body> </html>
在手機上打開后:
我的天哪!實在是太準了!如果我把代碼里的 zoom 參數再加大點,能精確到小區了...當然,這并不奇怪,因為這本來就是高德地圖百度地圖定位的一部分嘛。
事實上,getCurrentPosition 還有第三個參數,該參數是一個選項對象,用于設定信息的類型??梢栽O置的選項有三個:enableHighAccuracy 是一個布爾值,表示必須盡可能使用最精確的位置信息;timeout 是以毫秒數表示的等待位置信息的最長時間;maximumAge 表示上一次取得的坐標信息的有效時間,以毫秒表示,如果時間到則重新取得新坐標信息。
除非確實需要非常精確的信息,否則建議保持 enableHighAccuracy 的 false 值(默認值)。將這個選項設置為 true 需要更長的時候,而且在移動設備上更耗電。類似的,如果不需要頻繁更新用戶的位置信息,那么可以將 maximumAge 設置為 Infinity,從而始終都使用上一次的坐標信息。
navigator.geolocation.getCurrentPosition(locationSuccess, locationError, {
// 指示瀏覽器獲取高精度的位置,默認為false
enableHighAcuracy: true,
// 指定獲取地理位置的超時時間,默認不限時,單位為毫秒
timeout: 5000,
// 最長有效期,在重復獲取地理位置時,此參數指定多久再次獲取位置。
maximumAge: 3000
});
watchPosition 方法
如果要跟蹤用戶的位置,那么可以使用 watchPosition 方法。這個方法的使用和 getCurrentPosition 完全相同。實際上 watchPosition 與定時調用 getCurrentPosition 能得到相同效果。在第一次調用 watchPosition 方法后,會取得當前位置,執行成功回調或者錯誤回調。然后,watchPosition 就地等待系統發出位置已改變的信號。
調用 watchPosition 會返回一個數值標識符,用于跟蹤監控的操作?;谶@個返回值可以取消監控操作,只要將其傳遞給 clearWatch 方法即可(與使用 setTimeout() 和 clearTimeout() 類似),例如:
var watchId = navigator.geolocation.watchPosition(geo_success, geo_error);
clearWatch(watchId);
Geolocation 定位原理
Geolocation API 的數據來源可能是 GPS、IP 地址、RFID、WiFi、藍牙 MAC 地址、GSM/CDMA 卡 ID 等。因為 Geolocation API 是運行在你本地設備上的。所以,在使用 VPN 或代理的情況下,Geo API 仍能獲得你準確的 IP 地址信息(除非因為某些因素瀏覽器獲取不到這些信息)。
在HTML5的實現中,手機等移動設備當然優先使用GPS定位,而筆記本和部分平板,最準的定位是WIFI,至于網線上網的臺式機,一般就只能使用IP來定位了,這個準確度最低。
見過第一代iPhone所搭載的操作系統嗎?
今天就來帶大家看看從iPhone OS 1.0到最新iOS 16的所有蘋果手機操作系統都有哪些功能。
由于每次更新都會帶來大量內容并涉及到各種設備,所以咱們只說說那些比較主要的東西。
iPhone OS 1.0
iPhone 1代默認所搭載的操作系統,一切未來手機的開始。
內置電話、通訊錄、信息、相機、Safari瀏覽器等實用功能,音樂和視頻功能直接叫做“iPod”。全部功能通過觸摸屏幕實現。
由于顛覆傳統的使用方式(包括多點觸控、雙指縮放等)與未來感的界面,改變了整個手機行業的走向。
iPhone OS 2.0
iPhone 3G默認所搭載的操作系統。支持3G網絡,上網速度大幅提升。
最重要的是加入了“App Store”,使第三方應用程序可用于iPhone和iPod Touch,并發布了SDK軟件開發工具包,從此app開始井噴式增長。
原生加入了更多企業級應用。支持更多種語言。
iPhone OS 3.0
iPhone 3GS默認所搭載的操作系統。
在iPhone OS 3.0中,消息應用程序首次支持MMS服務,也就是彩信,同時iPhone 3GS上的相機應用程序新增了錄影功能。
增加“文本復制粘貼”功能,加入鍵盤橫屏模式,全局搜索和“應用程序權限”。
同時還增加了電腦通過手機上網功能、第三方外設的支持和“查找手機”功能,“查找手機”可以定位手機位置、發送消息和抹掉數據。這也是之后所有智能手機的標配。
Safari瀏覽器性能提升,支持HTML5,支持表格自動填充,開始支持流媒體音視頻。
正式加入簡體中文,并加入中文手寫輸入法。
最重要的是加入“內購”功能。手機的內購就是從這里開始的。
iOS 4
從這一代開始iPhone OS正式更名為iOS。
iPhone 4默認所搭載的操作系統。
增加多任務切換、更換手機背景、網絡電話、后臺音頻和后臺定位等功能,并且“程序文件夾”也是iOS 4才有的。
其他還包括加入新應用iBooks、Game Center及FaceTime功能等。
另外,最重要的是增加了手機應用內廣告,手機廣告從此開始。
iOS 5
iPhone 4s默認所搭載的操作系統。
下拉菜單加入“通知中心”。
在iOS 5之前,通知會以對話框形式出現,強制暫停用戶活動,而在iOS 5中,應用程序及系統通知會短暫顯示在屏幕上方,然后集成至通知中心。
Safari瀏覽器加入閱讀模式以及閱讀列表。
鎖屏界面加入相機快速拍攝按鈕。
最重要的是首次支持無需借助電腦升級系統,在iOS 5之前,更新iPhone系統或激活新設備,都只能通過iTunes電腦端處理;iOS 5則可以透過網絡直接更新和激活新設備。
加入新的即時通信服務iMessage、云服務iCloud(取代了MobileMe)、“提醒事項”和語音助手Siri。從此開始,云服務和語音助手也成了所有智能手機的標配。
iOS 5還將原本的iPod應用程序拆分為音樂及視頻兩個應用程序。
iOS 6
iPhone 5默認所搭載的操作系統。
Siri首次支持中文,并新增餐廳訂位、快捷開啟應用程序等功能。
電話加入了掛斷并回復信息,新增“勿擾模式”,可以按照設定時間暫停一切手機提醒。
Facetime開始支持通過移動網絡使用。
瀏覽器加入離線閱讀功能,支持圖片上傳。
另外,iOS 6還增加了新的內置應用“播客”和Passbook(錢包的前身)。
iOS 6發布會上還特別提到針對中國加入了很多獨有的功能,可見中國市場對于蘋果是多么的重要。
最后還要說一下iOS6上最重要的變化,就是移除了所有谷歌相關的應用程序,如“谷歌地圖”和“YouTube”等。原因據說是和谷歌的合約到期?!肮雀璧貓D”被替換為了自家的“蘋果地圖”,但這個“蘋果地圖”遭到了一邊倒的差評。
定位不準,信息錯誤都是家常便飯。地圖顯示更是讓人驚呼“這真是蘋果做出來的東西嗎?”蘋果CEO庫克為此還進行了道歉。
iOS 7
iPhone 5s默認所搭載的操作系統。
iOS 7可以說是至今界面變化最大的一次更新。將“擬物化”界面變成了“扁平化”。幾乎是完全改變。
多任務管理變成了平鋪樣式,Safari瀏覽器的頁面管理也變成了新的3D樣式。Siri由原來的樣式變成了波浪的形式。
新加入了“控制中心”,可以快速開啟WiFi、藍牙等功能。
“程序文件夾”增加了翻頁功能,使一個文件夾能容納的程序數量增至135個。
另外,“AirDrop”也是在iOS 7新加入的功能,兩臺iPhone或是和蘋果電腦之間可以直接傳送照片和視頻。
拍攝方面加入了濾鏡和各種拍攝模式。
照片加入了新的管理界面。
iOS 8
iPhone 6和iPhone 6 Plus默認所搭載的操作系統。
iOS 8首度引入連續互通功能體系,可以在多個蘋果設備之間無縫切換。
通知加入交互功能,可以在彈出通知上直接回復信息或者執行某些操作。
多任務界面加入最近聯系人功能,可以快速地撥打電話,發送短信等。
iMessage增加群組和發送語音功能。
值得一提的是,iOS 8同樣在發布會上提到了專門為中國增加的功能。特別是首度支持第三方輸入法,讓中國用戶十分欣喜。
iOS 9
iPhone 6s和iPhone 6s Plus默認所搭載的操作系統。
為iPhone 6s及iPhone 6s Plus引進了3D Touch觸控技術和Live Photo拍攝模式。
“備忘錄”應用全面升級,加入了手繪、超鏈接等實用功能。
Passbook應用正式更名為Wallet,也就是“錢包”。
地圖加入了公交地鐵線路,特別提到針對中國加入的線路。
新加入了“新聞”程序,但僅部分國家可以使用。
iOS 9.3更新中,首次引進Night Shift(夜覽)顯示模式,自動調整色溫、減少藍光。
iOS 9在iPad的鍵盤上方增加了幾個快捷按鈕,可以通過點擊實現剪切、復制和粘貼等功能,并增加了大量實體鍵盤的快捷鍵。
iPad上還增加了多窗口功能,可以浮動或并排顯示兩個程序窗口,并且增加了視頻浮動顯示功能。
以上就是從iPhone OS 1.0 到 iOS 9所增加的所有重要功能,其中像多點觸控、雙指縮放、“App Store”、 “查找手機”、HTML5流媒體音視頻、“內購”、“AirDrop”、 3D Touch等這些更新可以說是引導了整個智能手機發展的功能。另外,當蘋果將“擬物化”界面變成了“扁平化”,其它智能手機界面也跟著全都“扁平化”了。
這可不是說別人只能模仿蘋果,像下拉通知、第三方鍵盤輸入法、控制中心等這些功能都是安卓先有的,蘋果也學了過來。只要是實用的功能,誰抄誰又有什么關系,最終受益的不還是我們消費者。
由于一次性從1.0說到16內容實在太多,iOS 10到最新的iOS 16將會在下期講解。讓我們看看接下來蘋果又在系統中加入了哪些你不曾想到的實用功能。
我是大衛呆,如果覺得內容有用,希望能夠關注、點贊、評論和轉發一下,您的支持就是我做視頻的動力。謝謝大家,我們下期見。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。