当DOM准备就绪时,我在页面中有以下代码来自动提交表单:
$(function () {
$('form').submit();
});
然而,如果用户在下一页上单击浏览器上的“back”按钮,则会返回到此页面之前的页面,而不是包含此代码的页面(无论使用 Chrome/IE 还是其他浏览器)。即浏览器历史记录中缺少包含表格的页面。
这很棒,但我想知道现代浏览器是否都有此功能?我正在寻找一个引用官方来源的答案,可以从互联网标准文档或浏览器供应商那里得到他们实现的机制。
仅当我在 DOM 准备好或窗口加载事件中调用 submit()
函数时,才会出现此问题。
例如,此代码将在单击页面(向前/向后)后在浏览器历史记录中显示表单页面:
document.addEventListener('click', function () { document.forms[0].submit(); }, false);
以下代码片段不会:
document.addEventListener('DOMContentLoaded', function () { document.forms[0].submit(); }, false);
window.addEventListener('load', function() { document.forms[0].submit(); }, false);
window.onload = function () { document.forms[0].submit(); };
$(window).load
中也是如此。 - Frogmouth