Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net JavaScript中window.onback的意外行为?_Asp.net_Javascript_Back Button - Fatal编程技术网

Asp.net JavaScript中window.onback的意外行为?

Asp.net JavaScript中window.onback的意外行为?,asp.net,javascript,back-button,Asp.net,Javascript,Back Button,我正在使用window.onback=history.forward();阻止用户重新提交数据。我知道这是一个黑客,我也不喜欢它,但这不是这个问题的核心。问题是代码会阻止其他页面返回带有代码的页面。让我澄清一下 PageA.aspx中包含JavaScript代码。用户提交PageA,回击,什么也没发生。那很好。现在,用户单击一个指向PageB.aspx的链接,该链接没有代码。当用户单击Back按钮(该按钮应将她带到PageA.aspx)时,它不会。它表现出与PageB没有后台JavaScript

我正在使用window.onback=history.forward();阻止用户重新提交数据。我知道这是一个黑客,我也不喜欢它,但这不是这个问题的核心。问题是代码会阻止其他页面返回带有代码的页面。让我澄清一下

PageA.aspx中包含JavaScript代码。用户提交PageA,回击,什么也没发生。那很好。现在,用户单击一个指向PageB.aspx的链接,该链接没有代码。当用户单击Back按钮(该按钮应将她带到PageA.aspx)时,它不会。它表现出与PageB没有后台JavaScript代码一样的行为

下面是我如何在PageA.aspx中实现它的:

<script type="text/javascript">
window.onback = history.forward();
</script>

window.onback=history.forward();
我已确认此代码仅存在于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>

if(window.location.indexOf(“PageA.aspx”,0)>0)
{
window.onback=history.forward();
}
我无法解释发生了什么,但这应该有助于限制黑客的范围