确认从 javascript 中的页面重定向
Confirm redirection from page in javascript
我正在asp.net
包含三页的网站工作
page1.aspx
page2.aspx
和page3.aspx
我希望如果用户从page1
重定向,应该出现要求确认的警报框。为此,我编写了以下代码
window.onbeforeunload = function () {
return 'Are you sure you want to leave?';
};
但是此代码在服务器的每个postback
上运行,包括按 F5
。我希望此代码仅在用户重定向到剩余两个页面中的任何一个时运行
怎么能做到这一点??
仅在
页面中的JavaScript onload
事件中尝试此代码
if(confirm("Are you sure you want to leave?"))
{
//redirect to next page
return false
}
在 window.onbeforeunload 中处理可能不是直接的方法,因为每次加载页面时都会显示警报消息。
相反,您可以做的是在 from DOM 对象中调用确认 js 函数,这可能会将用户带到不同的页面。
例如,让我们假设下面的锚标签将用户带到第二页:
<a id="pageTwoAnchorTag" runat="server" href="~/Page2.aspx">Page 2</a>
您可以添加以下 onClick 事件,以便在用户想要转到第 2 页时获得确认:
<a id="pageTwoAnchorTag" runat="server" onclick="return confirm('Are you sure you want to leave?')" href="~/Page2.aspx">Leave Records</a>
只在几个地方要求确认可能并不完全令人满意,因为它不会在所有期望的情况下触发。例如,当您关闭浏览器选项卡或窗口时,您的数据将丢失。
我建议做相反的事情:像你已经做的那样注册onbeforeunload,但包括一个"守卫",你可以在任何不应该触发确认的操作上禁用它(即在回发中):
window.shouldconfirm = true;
window.onbeforeunload = function () {
if (shouldconfirm) {
return 'Are you sure you want to leave?';
}
};
注册在执行回发之前发生的事件(例如按钮单击事件等)在这些位置,禁用确认:
window.shouldconfirm = false;
我对回发触发 onbeforeunload 事件感到有点惊讶。我想记住,在表单发布时不会触发事件,并且 ASP.NET 回发是作为表单发布操作实现的。
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 捕获所有常见类型的重定向、头、元、JavaScript等
- Javascript移动站点重定向问题
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 使用CSS和Javascript重定向-手持设备
- 重定向javascript中的Url
- Servlet仅在单击JavaScript警报消息后重定向
- 登录后重定向,缓存页面问题-Javascript
- 从Ajax脚本重定向Javascript页面
- 重定向Javascript中包含的URL路径
- 重定向javascript,替换url
- 右键单击时重定向Javascript
- 在重定向JavaScript时从URL中删除#
- HTTP重定向-Javascript或Flask
- 使用POST方法重定向javascript页面
- 基于URL的重定向-JavaScript
- 重定向javascript表单
- 这是一个很好的移动重定向javascript吗?或者我会被谷歌封杀
- 如果网页 URL 链接失败,则重定向 Javascript URL