經過window.navifator.onLine 來檢測網絡是否可用javascript
alert(window.navigator.onLine);
複製代碼
online: 用戶網絡鏈接時被調用 offline: 用戶網絡斷開時被調用css
//當網絡鏈接的時候,自動檢測,彈出P 顯示網絡已接通 而後消失
window.addEventListener("online",function () {
$(".tips").text("網絡已接通").fadeIn(1000).delay(1000).fadeOut();
});
//當網絡斷開的時候,自動檢測,彈出P
window.addEventListener("offline",function () {
$(".tips").text("網絡已斷開").fadeIn(1000).delay(1000).fadeOut();
});
//delay( fast | slow | 毫秒)表示延遲的時長
複製代碼
HTML5規範容許用戶自定義網頁上任一元素全屏顯示。html
注:全屏存在瀏覽器的兼容性問題,不一樣的瀏覽器須要添加不一樣的前綴 webkit(谷歌) moz(火狐) ms(IE) o(歐朋)html5
//1.全屏顯示
document.querySelector("#full").onclick = function () {
div.webkitRequestFullScreen(); //開啓全屏
//能力檢測 一個兼容性解決方法
if(div.requestFullScreen){ //正常檢測
div.requestFullScreen();
}else if(div.webkitRequestFullScreen){ //谷歌
div.webkitRequestFullScreen();
}else if(div.mozRequestFullScreen){ //火狐
div.mozRequestFullScreen();
}else if(div.msRequestFullscreen){ //IE內核,注意IE中有坑,須要將Screen中的s小寫
div.msRequestFullscreen(); //ms 裏面這樣寫的msRequestFullscreen S小寫
}else {
div.oRequestFullScreen(); //歐朋
}
}
複製代碼
特別注意:
當兼容IE瀏覽器時,ms 裏面這樣寫的msRequestFullscreen S小寫java
存在瀏覽器兼容問題,此處只列舉一種node
//2.取消全屏 跟元素是沒有關係的 與document相關
document.querySelector("#cancelFull").onclick = function () {
document.webkitCancelFullScreen();
};
複製代碼
存在瀏覽器兼容問題,此處只列舉一種git
//3.是不是全屏
document.querySelector("#isFull").onclick = function () {
alert(document.webkitIsFullScreen);
}
複製代碼
有兼容性問題 須要添加前綴 此處只列舉一種web
:full-screen 、:-webkit-full-screen {}、:moz-full-screen {}chrome
div:-webkit-full-screen{
background-color: #4fff88;
}
複製代碼
經過FileReader對象咱們能夠讀取本地存儲的文件,使用 File 對象來指定所要讀取的文件或數據。其中File對象能夠是來自用戶在一個 元素上選擇文件後返回的FileList 對象,也能夠來自由拖放操做生成的 DataTransferapi
因爲HTML5中咱們能夠經過爲表單元素添加multiple屬性,所以咱們經過<input type="file" multiple>
上傳文件後獲得的是一個Files對象(僞數組形式)。
multiple: 表示能夠同時選擇多個上傳文件
HTML5新增內建對象,能夠讀取本地文件內容。
var reader = new FileReader; 能夠實例化一個對象
readAsDataURL() 以DataURL形式讀取文件(用於圖片的顯示)
事件監聽:onload 當文讀取完成時調用
屬性:result 文件讀取結果
// 上傳文件,藉助於文件域 input file
var file = document.querySelector("#fl");
var div = document.querySelector("div");
file.onchange = function () { //當發生改變的時候 (下拉菜單,select也是這個事件)
//初始化一個reader對象
var reader = new FileReader();
//讀取文本里面的內容
reader.readAsText(this.files[0]);
// 把讀取的內容顯示到 頁面中
reader.onload = function () {
div.innerHTML = this.result;
}
}
複製代碼
在HTML規範中,增長了獲取用戶地理信息的API,這樣使得咱們能夠基於用戶位置開發互聯網應用,即基於位置服務 (Location Base Service)
navigator.geolocation.getCurrentPosition(successCallback, errorCallback)
navigator. geolocation.watchPosition(successCallback, errorCallback)
當成功獲取地理信息後,會調用succssCallback,並返回一個包含位置信息的對象position。
當獲取地理信息失敗後,會調用errorCallback,並返回錯誤信息error
在現實開發中,經過調用第三方API(如百度地圖)來實現地理定位信息,這些API都是基於用戶當前位置的,並將用位置位置(經/緯度)當作參數傳遞,就能夠實現相應的功能。
在 HTML5 中,拖放是標準的一部分,任何元素都可以拖放。
draggable 屬性:就是標籤元素要設置draggable=true,不然不會有效果
注意: 連接和圖片默認是可拖動的,不須要 draggable 屬性。
被拖動的源對象能夠觸發的事件:
(1)ondragstart:源對象開始被拖動
(2)ondrag:源對象被拖動過程當中(鼠標可能在移動也可能未移動)
(3)ondragend:源對象被拖動結束
拖動源對象能夠進入到上方的目標對象能夠觸發的事件:
(1)ondragenter:目標對象被源對象拖動着進入
(2)ondragover:目標對象被源對象拖動着懸停在上方
(3)ondragleave:源對象拖動着離開了目標對象
(4)ondrop:源對象拖動着在目標對象上方釋放/鬆手
在進行拖放操做時,DataTransfer
對象用來保存被拖動的數據。它能夠保存一項或多項數據、一種或者多種數據類型 參考文檔
// (1)ondragstart:源對象開始被拖動,存放被拖動元素的數據
document.ondragstart = function (event) {
event.dataTransfer.setData("text/html",event.target.id);
}
// (4)ondrop:源對象拖動着在目標對象上方釋放/鬆手
// 獲取存儲的數據,進行追加到目標對象中
document.ondrop = function (event) {
var id = event.dataTransfer.getData("text/html");
event.target.appendChild(document.getElementById(id));
}
複製代碼
HTML5規範提出了web本地存儲大量數據,分別是sessionStorage與localStorage
設置、讀取方便、頁面刷新不丟失數據
容量較大,sessionStorage約5M、localStorage約20M
只能存儲字符串,能夠將對象JSON.stringify() 編碼後存儲
生命週期爲關閉瀏覽器窗口
在同一個窗口(頁面)下數據能夠共享
永久生效,除非手動刪除 關閉頁面也會存在
能夠多窗口(頁面)共享(同一瀏覽器能夠共享)
setItem(key, value)
設置存儲內容
getItem(key)
讀取存儲內容
removeItem(key)
刪除鍵值爲key的存儲內容
clear()
清空全部存儲內容 (慎用)
HTML5中咱們能夠輕鬆的構建一個離線(無網絡狀態)應用,只須要建立一個cache manifest文件。
一個普通文本文件,其中列出了瀏覽器應緩存以供離線訪問的資源,推薦使用.appcache
爲後綴名
例如咱們建立了一個名爲demo.appcache的文件,而後在須要應用緩存在頁面的根元素(html)添加屬性
manifest="demo.appcache"
,路徑要保證正確。
頂行寫CACHE MANIFEST(cache manifest)
CACHE: 換行 指定咱們須要緩存的靜態資源,如.css、image、js等
NETWORK: 換行 指定須要在線訪問的資源,可以使用通配符
FALLBACK: 換行 當被緩存的文件找不到時的備用資源
一、CACHE: 能夠省略,這種狀況下將須要緩存的資源寫在CACHE MANIFEST
二、能夠指定多個CACHE: NETWORK: FALLBACK:,無順序限制
三、#表示註釋,只有當demo.appcache文件內容發生改變時或者手動清除緩存後,纔會從新緩存。
四、chrome 能夠經過chrome://appcache-internals/工具和離線(offline)模式來調試管理應用緩存
方法:load()、play()、pause()
屬性:currentSrc、currentTime、duration
事件:oncanplay, ontimeupdate,onended 等