我有一个让我可以编辑页面正文的Java脚本书签小程序:
document.body.contentEditable = true;
个
我想做一个书签,允许我保存这些编辑,这样如果我刷新页面,它将保留它们,或当我单击书签时将它们显示出来.
我知道本地存储存在,但我不确定如何使用本地存储更新相应的元素.
有什么主意吗?
我有一个让我可以编辑页面正文的Java脚本书签小程序:
document.body.contentEditable = true;
个
我想做一个书签,允许我保存这些编辑,这样如果我刷新页面,它将保留它们,或当我单击书签时将它们显示出来.
我知道本地存储存在,但我不确定如何使用本地存储更新相应的元素.
有什么主意吗?
以下是ChatGPT3.5‘S对这个问题的准确回答. 要在Web应用程序中跨页面刷新保存文档正文编辑,通常需要使用某种形式的数据持久性.有几种方法可以实现这一点,具体取决于您的需求和您正在使用的技术堆栈.以下是一些常见的方法:
Local Storage:在客户端可以使用JAVASCRIPT中的localStorage
或sessionStorage
接口来存储数据.即使刷新页面,此数据也将持续存在.下面是一个简化的例子:
// Save data to local storage
localStorage.setItem('documentContent', document.body.innerHTML);
// Retrieve data from local storage
var savedContent = localStorage.getItem('documentContent');
if (savedContent) {
document.body.innerHTML = savedContent;
}
在使用本地存储存储敏感信息时要小心,因为同一个域上的JavaScript可以访问它.
Cookies:您可以使用Cookie在客户端浏览器上存储少量数据.Cookie会随您网站的每个HTTP请求一起发送.但是,它们有大小限制,不适合存储大型文档正文.
Server-Side Storage:如果您需要存储更大或更关键的数据,请考虑将其保存在服务器上.当用户编辑文档时,将更改发送到服务器并将其存储在数据库中.刷新页面时,从服务器检索数据并使用保存的内容填充文档.
要实现这一点,您通常会使用服务器端语言(例如,PHP、Python、Node.js)和数据库(例如,MySQL、MongoDB)来存储和检索文档内容.
Web Storage APIs:除了本地存储和会话存储,您还可以使用较新的Web存储技术,如IndexedDB或WebSQL,以满足更高级的客户端存储需求.它们更强大,但学习曲线更陡峭.
Client-Side Frameworks:如果您使用的是像React、Angel或Vue.js这样的JavaScript框架,则可以使用其内置的状态管理和数据存储机制来管理应用程序中的状态,并在刷新过程中持久化数据.
Cookies:您可以使用Cookie在客户端存储小块数据.但是,它们有大小限制,不适合存储大型文档正文.
请记住,方法的 Select 取决于您的特定用例,例如文档内容的大小、安全要求以及您是否需要跨多个设备或用户同步数据.每种方法都有它的优缺点,所以 Select 最适合你需要的一种.