使用 javascript 历史来丢弃同一页面上的连续点击
use javascript history to discard consecutive clicks on the same page
所以,我不是前端人员,请多多包涵..
我有一些页面,您在其中多次提交表单(目标和当前 url 是相同的),然后您不想返回上一页。
处理提交的方式是发布表单,然后重定向用户,以便重新加载不会重新提交(POST)表单 - 我不确定这是否是实现此目标的最佳方法..
问题是这只会将用户带回到同一页面,因为如果。 A页面的表单被提交了两次,历史记录将有:
- A 页(当前)
- 页面 A(提交,产生重定向)
- 页面 A(之前加载)
- 页面 A(提交,产生重定向)
- 页面 A(原始加载)
- 上一页
现在我想要后退按钮将用户带回上一页 (#6),为了做到这一点,我猜我需要在每个页面上引入代码(使用表单至少)其中:
- 检查引用者是否与当前引用者具有相同的url,如果是,则history.popState
- 在提交任何表单时,检查目标和当前 url 是否相同 history.popState
这是一个合理的策略,还是有更好的方法来实现它?
Html
<a href="index.html"
onclick="handleClick(this);">Click</a>
Javascript
const handleClick = (e) =>{
locaiton.replace(e.href);
return false;
}
这似乎不可能,所以我采取了另一条路线,我避免使用后退按钮,而是根据上下文提供指向上一页的链接。
所以,我不是前端人员,请多多包涵..
我有一些页面,您在其中多次提交表单(目标和当前 url 是相同的),然后您不想返回上一页。 处理提交的方式是发布表单,然后重定向用户,以便重新加载不会重新提交(POST)表单 - 我不确定这是否是实现此目标的最佳方法..
问题是这只会将用户带回到同一页面,因为如果。 A页面的表单被提交了两次,历史记录将有:
- A 页(当前)
- 页面 A(提交,产生重定向)
- 页面 A(之前加载)
- 页面 A(提交,产生重定向)
- 页面 A(原始加载)
- 上一页
现在我想要后退按钮将用户带回上一页 (#6),为了做到这一点,我猜我需要在每个页面上引入代码(使用表单至少)其中:
- 检查引用者是否与当前引用者具有相同的url,如果是,则history.popState
- 在提交任何表单时,检查目标和当前 url 是否相同 history.popState
这是一个合理的策略,还是有更好的方法来实现它?
Html
<a href="index.html"
onclick="handleClick(this);">Click</a>
Javascript
const handleClick = (e) =>{
locaiton.replace(e.href);
return false;
}
这似乎不可能,所以我采取了另一条路线,我避免使用后退按钮,而是根据上下文提供指向上一页的链接。