历史记录和通过JavaScript修改的HTML
History and modified HTML by JavaScript
当页面被JavaScript修改时,浏览器历史记录遇到了一个小问题。
如何复制
- 已打开包含可删除元素的页面。然后我点击删除按钮,该按钮使用ajax和
jquery.remove()
触发JavaScript - 然后我点击一些链接打开另一个页面
- 在新页面上,我将点击浏览器后退按钮
- 我在页面上删除了数据库中实际上不存在的元素
解决方案是什么?清除浏览器历史记录?(我可以吗?)
解决方案
感谢Endy和消息来源,我带来了一些解决方案:
-
在HTML模板中创建一个名称已删除的输入[类型=隐藏](无论什么)
-
创建可以使用唯一ID 删除的元素
-
何时触发删除操作,添加唯一ID以删除输入
var deleted=$("input[名称=已删除]");deleted.val(deleted.vl()+id+")
-
在文档准备就绪时创建检查器,该检查器删除元素
工作原理浏览器会自动记住添加到输入中的值,因此当页面从缓存中显示时,它就有了值,并且文档准备就绪就会触发
代码:
var deleted = $("input[name=deleted]");
if (deleted.length > 0 && deleted.val() != "") {
var deletedInput = deleted.val();
var deletedArray = deletedInput.split(";");
for (var i = 0; i < deletedArray.length;i++) {
if (deletedArray[i] != "") {
$("#photo"+deletedArray[i]).remove();
}
}
}
您无法清除浏览器历史记录。你可以做的是总是在你删除内容的页面上强制使用Javascript。
window.history.forward();
或者,更好的做法是,在返回时修改页面,使其与数据库同步。
相关文章:
- 为什么我从浏览器修改html/js时会多次发送ajax请求
- 修改 html 的子集并使用 jquery 附加它
- 加载文档时修改HTML
- Javascript函数未修改html
- 修改 HTML 的方式使左键应带到下一个 URL
- react如何与修改html的javascript ui组件协同工作
- 使用正则表达式修改html的文本(使用javascript)
- 当我们使用twitter小部件时,如何修改html
- firefox扩展可以修改HTML文档的DOM,然后保存为HTML
- jquery-ui-sortable在创建时修改html
- 当我在jquery中修改HTML时,如何刷新对象
- 修改html打印的页眉
- 更好的做法是通过CSS类或直接(通过DOM)修改HTML元素显示
- 修改 HTML 后丢失更改 (DOM)
- 如何动态设置修改 html 元素的 ID
- 在Javascript中,我如何根据表单的内容发出警报并修改html
- 使用 innerHTML 修改 html 元素 - 对 httprequest 的影响
- 修改 HTML 的对象“树”
- 如何使用 javascript 访问和修改 HTML 页面中的图像
- 阻止 CKEDITOR 修改 HTML