在aspx页面上,有一个链接作为弹出窗口打开,授权用户登录twitter或facebook。我正在使用tweetsharp和facebook sdk api。
授权用户后,我试图关闭弹出窗口并使用javascript刷新父页面。这是代码:
<script type="text/javascript">
window.onunload = refreshParent;
function refreshParent() {
window.parent.opener.location.reload(true);
}
</script>
这在IE 11中无效。您能为此建议一个解决方案吗?提前谢谢。
编辑:
仍无法解决此问题。
我尝试将上述代码用于非IE浏览器,而对于IE浏览器,我尝试使用window.showModalDialog()来打开modaldialog而不是弹出窗口,这样,它会冻结父窗口,直到模态窗口关闭了。然后我试着刷新窗口。这是代码:
function myfunction() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer, return version number
OpenModalPopUP();
}
else // If another browser, return 0
{
newwindow = window.open('/Login.aspx', window, 'height=500,width=450');
if (window.focus) { newwindow.focus() }
}
return false;
}
function OpenModalPopUP() {
window.showModalDialog('/Login.aspx');
window.location.reload(); //this will only reload the page after modal dialog is closed.
}
但是即使这不起作用,当我提交登录表单时,它会在新窗口中打开结果。