Tro*_*hel 3 javascript asp.net
回复发生时,我不想显示下面的弹出消息.我的页面与定价无关,它显示在回发时更新的ms图表.如何在代码或java脚本中禁用?
要再次显示网页,Internet Explorer需要重新发送您之前提交的信息.
这是我试过的javascript:虽然不起作用.
<script type="text/javascript">
// <!--
function submitForm() {
window.opener.document.forms[0].submit();
}
// -->
</script>
Run Code Online (Sandbox Code Playgroud)
并将函数附加到表单,如下所示:
<body>
<form id="form1" runat="server" onsubmit="submitForm()">
Run Code Online (Sandbox Code Playgroud)
我敢打赌你在JavaScript中这样做:
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)
虽然上面的代码来自Facebook文档,并且它适用于实现Facebook JavaScript SDK的独立网站,但它会通过导致无限循环破坏您在Internet Explorer和Firefox中的Facebook应用程序.
当Facebook加载应用程序时,它会通过POST发送有关用户身份验证状态的信息.SDK处理此数据并对用户进行身份验证.
通过告诉JavaScript SDK在成功验证后重新加载页面,Firefox和Internet Explorer将此解释为意味着他们也应该再次发送POST数据.您的应用程序再次接收POST数据,重新验证用户,并重新加载页面,从而导致无限循环.
解决方案:不要使用window.location.reload().相反,您需要设置window.location.href(或以其他方式从浏览器请求中剥离POST数据).