如果用户使用浏览器后退按钮并再次保存页面,我需要限制。有没有可能的方法?
3 回答
我们可以通过在保存按钮中添加 :disable_with => "Processing" 来代替使用后退按钮禁用功能。
<%=submit_tag "Save",:class => "buttons", :id => 'save_btn', :disable_with => "Processing" %>
如果用户使用浏览器的后退按钮,这将禁用保存按钮(即使用户使用 F5 或刷新按钮刷新页面)。
注意:它不适用于 Ctrl + F5
干杯!
使用过期时间短的 cookie 或 session,所以 if(cookie/session) 然后不要再次保存页面。
使用 history.forward 禁用 Back 功能
这是在任何网页中禁用返回功能的另一种技术。我们可以通过在网页中添加以下代码来禁用后退导航。现在要注意的是,您必须在要避免用户从上一页返回的所有页面中添加此代码。例如,用户跟随导航 page1 -> page2。并且您想阻止用户从 page2 返回到 page1。在这种情况下,page1 中的所有以下代码
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">
上面的代码将触发 page1 的 history.forward 事件。因此,如果用户在 page2 上按下 Back 按钮,他将被发送到 page1。但是 page1 上的 history.forward 代码将用户推回到 page2。因此,用户将无法从 page1 返回。