我在需要执行一些服务器端代码然后关闭浏览器窗口的 aspx 页面上有一个退出按钮。该按钮有一个 OnClick 事件和一个 OnClientClick 事件。OnClientClick 事件调用将执行回发然后关闭窗口的方法。该代码在 IE 中运行良好,但不会在 Chrome 中进行回发。在这两种情况下,窗口都会关闭。这是我的代码。我正在检查它是哪个浏览器,但此时在每种情况下都没有做任何不同的事情
function closeMainWindow(control) {
var clientIDName = control.name;
if (navigator.userAgent.indexOf('Chrome') != -1) {
__doPostBack(clientIDName, '');
window.open('', '_self', ''); //need this for Chrome
window.close();
return false;
}
else {
__doPostBack(clientIDName, '');
window.open('', '_self', ''); //bypasses warning from IE
window.close();
return false;
}
这是按钮的代码。
<asp:Button ID="btnExit" runat="server" Text="Yes" Width="50px" OnClick="btnExit_Click" OnClientClick="javascript:return closeMainWindow(this);" />
我将不胜感激有关如何在 Chrome 中进行这项工作的任何建议,或者是否有更好/不同的方式来执行服务器端代码然后关闭浏览器窗口。