JavaScript中window.onback的意外行为? [关闭]
-
04-07-2019 - |
题
我正在使用window.onback = history.forward();防止用户重新提交数据。我知道这是一个黑客,我也不喜欢它,但这不是这个问题的意思。问题是代码阻止其他页面返回带有代码的页面。让我澄清一下。
PageA.aspx中包含JavaScript代码。用户提交PageA,点击Back,没有任何反应。非常好。现在,用户单击指向PageB.aspx的链接,该链接不具有代码。当用户单击“后退”按钮时,它应该将她带到PageA.aspx,但它没有。它表现出与PageB具有无反向JavaScript代码相同的行为。
以下是我在PageA.aspx中实现它的方法:
<script type="text/javascript">
window.onback = history.forward();
</script>
我已确认此代码仅在PageA.aspx中,而不在master,includes或其他任何内容中。这是在SharePoint 2007中运行的ASP.NET 2.0应用程序。浏览器是IE7。
有什么想法吗?
解决方案
我没有时间(或SharePoint07)来重现您的环境和场景,但是如果您在JavaScript中放置位置测试怎么办?
这样的事情:
<script type="text/javascript">
if (window.location.indexOf("PageA.aspx", 0) > 0)
{
window.onback = history.forward();
}
</script>
我无法解释发生了什么,但这应该有助于限制黑客的范围。
不隶属于 StackOverflow