是否可以将 html 网页保存在客户端的会话或本地存储中?
Is it possible to save html web page on client side in session or local storage?
我已将网站的菜单代码保存在单独的 html 文件中,并包含在我的网页中。
这需要时间来呈现,因为它是 ajax 调用。
所以有任何方法可以在会话或本地存储中保存 html 页面。 ?
提前致谢
本地存储在网络开发中是一个相当新的概念。目前并非所有浏览器都在同一页面上,因此您最终会发现有时您的方法对某些人来说可以完美工作,而对其他人则根本行不通。 None-您可以使用 HTML5 中的新功能(localStorage 和 sessionStorage)来完成您的任务。
您可以在 http://www.w3schools.com/html/html5_webstorage.asp
找到示例
第一个:
if(typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}
然后,如果存储是可能的,你可以在上面的 if-case 中实现你的代码:
// Store
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;
或与 sessionStorage:
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
因此,从本质上讲,您需要执行以下操作:
- 您需要创建一个 JavaScript 例程来检查用户的浏览器是否支持 localStorage,如果支持,请检查您是否已将侧边菜单存储在其中。
- 如果您确实存储了侧边菜单,则只需将其加载到
<div>
元素中即可。如果您没有存储侧边菜单,则改为设置 "ng-include" 属性(或进行手动 ajax 调用)。
- 如果用户确实支持 localStorage 并且您最终进行了 ajax 调用,那么您所需要的只是一种机制来检测 sidemenu.html 何时完成加载然后转储所有内容其中 div 存入 localStorage。
为什么要包含带有 ajax
调用而不是 <?php include 'menu.php';?>
或 <?php require 'menu.php';?>
的文件?它更可靠、更快速,同样如上所述,目前本地和会话存储都没有得到很好的支持。
我已将网站的菜单代码保存在单独的 html 文件中,并包含在我的网页中。 这需要时间来呈现,因为它是 ajax 调用。 所以有任何方法可以在会话或本地存储中保存 html 页面。 ? 提前致谢
本地存储在网络开发中是一个相当新的概念。目前并非所有浏览器都在同一页面上,因此您最终会发现有时您的方法对某些人来说可以完美工作,而对其他人则根本行不通。 None-您可以使用 HTML5 中的新功能(localStorage 和 sessionStorage)来完成您的任务。
您可以在 http://www.w3schools.com/html/html5_webstorage.asp
第一个:
if(typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}
然后,如果存储是可能的,你可以在上面的 if-case 中实现你的代码:
// Store
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;
或与 sessionStorage:
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
因此,从本质上讲,您需要执行以下操作:
- 您需要创建一个 JavaScript 例程来检查用户的浏览器是否支持 localStorage,如果支持,请检查您是否已将侧边菜单存储在其中。
- 如果您确实存储了侧边菜单,则只需将其加载到
<div>
元素中即可。如果您没有存储侧边菜单,则改为设置 "ng-include" 属性(或进行手动 ajax 调用)。 - 如果用户确实支持 localStorage 并且您最终进行了 ajax 调用,那么您所需要的只是一种机制来检测 sidemenu.html 何时完成加载然后转储所有内容其中 div 存入 localStorage。
为什么要包含带有 ajax
调用而不是 <?php include 'menu.php';?>
或 <?php require 'menu.php';?>
的文件?它更可靠、更快速,同样如上所述,目前本地和会话存储都没有得到很好的支持。