我目前正在编写一个工具,允许用户通过动态输入指定一组复杂的数据。通过使用GET查询[例如main.html?inputs = {...}]
,可以使用输入预填充工具不幸的是,如果您正常运行该站点[访问main.html],然后提交表单并决定返回上一页,所有状态都将丢失。
我可以非常简单地序列化当前的输入,如果它是有效的,那么类似于下面的内容将起作用。
document.location.href = "main.html?input={...}";
form.submitForm();
有没有办法发送当前的URL [为了浏览器历史记录]并继续执行我的代码?或者,有没有办法在导航到下一页之前在历史记录中插入其他条目?
答案 0 :(得分:0)
使用location的hash属性(例如:main.html#someHashValue)来模拟页面更改。它将改变URL,因此允许用户在浏览器中使用正常的后退和前进按钮,但不会导致刷新。
你在javascript中所要做的就是每秒检查哈希值,看看它是否已经改变。您可以在我的网站MarshallBrekka.com
上查看此技术的示例