javascript - js在页面卸载时保存数据不能按预期工作
问题描述
我试图在页面卸载时保存一些数据,这是我当前的脚本
window.addEventListener("unload", function(event) {
if(snippetChanged){
//save it
snippetChanged = false
var changeData = {
code: CryptoJS.AES.encrypt(snippetEditor.getValue(), 'key').toString(),
name: path[0]
}
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('POST', '/userhome/updateSnippet', true);
xmlHttp.send(JSON.stringify(changeData));
}
})
但是这只部分有效(在Firefox中重置网页),我不知道为什么会发生这种情况,非常感谢任何帮助
解决方案
创建一个函数并将其命名为saveData()
function saveData(){
// your code to save the data
}
在 Body html 标记处放置 onunload="saveData()" 示例:
<body onunload="saveData()">
推荐阅读
- reactjs - 如果我放入另一个组件,则反应路由器 dom 的切换不起作用
- javascript - 当我从另一个 .js 文件导入某些内容时,功能不起作用
- excel - Excel / 如何在输入单元格时自动从下拉列表中找到正确的选项,用于整列
- firebase - 如何清除 Flutter Firebase 中以前的用户缓存数据?
- c# - ValidationMessageFor 不显示错误信息
- java - Spring boot + Kotlin + MongoDb: Cannot resolve reference to bean 'mongoTemplate' while setting bean property
- c++ - 将 int 转换为 int* 会发生什么?
- java - 用于 ElasticSearch 多字段搜索的 Java API
- graphql - 如何使用 Prisma 和 GraphQL 创建自解析对象类型数组
- azure-cosmosdb - 使用 azure-documentdb-java 的 Azure Cosmos DB 分页