h5離線存儲的原理,怎麼使用;cookie,sessionstorage,localstorage的區別、Iframe的缺點

h5離線存儲的原理,怎麼使用

個人總結:

原理:h5的離線存儲是基於一個.appcache文件來緩存的,它不是存儲技術,我們通過.appcache這個文件來解析離線存儲資源,這些資源會被瀏覽器存儲起來,當你電腦沒有網的時候,瀏覽器回通過你存儲起來的數據對頁面進行展示。

使用:1.頁面頭部加入一個manifest的屬性;2.在cache.manifest文件的編寫離線存儲的資源;3.在離線狀態時,操作window.applicationCache進行需求實現。

cookie,sessionstorage,localstorage的區別

1.cookie中的數據在瀏覽器和服務器之間來回傳送,而localstorage和sessionstorage不會自動把數據發送給服務器,僅在本地保存;

2.cookie數據大小不能超過4k,而localstorage和sessionstorage要遠比cookie存儲的數據大的多,可以達到5M以上;

3.cookie對於數據保存時間方面和localstorage和sessionstorage是不相同的,cookie在過期時間之前是一直都有效的,即使瀏覽器關閉,而sessionstorage數據在瀏覽器關閉後自動就刪除了,而localstorage只要你不主動去刪除數據,它就一直存在。

Iframe

缺點:

頁面不容易管理,因爲在iframe框架下會產生很多的頁面;
當用戶需要打印當前的內容的時候,iframe也是不容易打印的;
當用戶在iframe框架下逛着頁面,然後他點進去一個新的頁面,然後她想通過瀏覽器的後退按鈕返回,這個時候就尷尬了,因爲瀏覽器的後退按鈕是無效的。
我覺得iframe最大的一個缺點是對於索引擎的檢索程序無法解讀這種頁面,不利於SEO。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>溫故而知“心”</title>
    <link rel="stylesheet" href="./index.css">
</head>

<body>
    <iframe src="./test.html" name="lm"></iframe>
</body>

<script>
    const oIframe = document.getElementsByTagName("iframe")[0];
    oIframe.onload = function () {
        //方法一:獲取iframe內聯框架引入進來的子頁面裏面的值(推薦方法一)
        console.log(oIframe.contentWindow.name)

        //方法二::獲取iframe內聯框架引入進來的子頁面裏面的值(該方法部分瀏覽器不支持)
        console.log(window.frames['lm'].name)
    }

    var name = 'xyz';

    /*
    window.name:具有跨域的效果;
    舉例:你在百度的地址下面輸入window.name = 123;回車後,
    在地址欄將百度的地址變成天貓的地址,再在控制檯裏面輸入
    window.name,你會看到打印出來123
    */
</script>

</html>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>溫故而知“心”</title>
</head>

<body>
    子窗口
</body>
<script>
    var name = "lm";

    //獲取父元素窗口裏面的值
    console.log(window.parent.name)
    //獲取父元素的父元素窗口裏面的值(頂級窗口對象)
    console.log(window.top.name)
</script>

</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章