下面是我的ajax调用,一旦ajax调用成功,我想从浏览器关闭当前选项卡。
$.ajax({
type: "GET",
data: null,
url: '@Url.Action("SessionKill", "Authentication")',
dataType: 'json',
contentType: false,
processData: false,
success: function (response) {
if (response != null && response.success) {
window.location = window.close();//from here,I want to close the tab.
}
},
error: function (response) {
}
});
答案 0 :(得分:1)
你有一个错字。试试这个:
element.close();
取代:
window.location = window.close();
window.close只能关闭使用window.open打开的窗口,因此您无法关闭javascript中的当前选项卡。您可以打开一个新窗口,将其存储在变量中,然后将其关闭。 - Shaun Parsons
打开一个窗口:
var wind;
function openWindow() {
wind = window.open("https://www.google.com/", "wind", "width=1000,height=700");
}
function closeWindow() {
wind.close();
}

<input type="button" onclick="openWindow()" value='Open'/>
<input type="button" onclick="closeWindow()" value='Close'/>
&#13;
<强>更新强>
此代码段在堆栈溢出时被阻止,因此无法在此处执行。
答案 1 :(得分:0)
这对我有用:
if (response != null && response.success) {
window.open('', '_self', '');
window.close();
}
答案 2 :(得分:0)
您无法关闭未使用javascript打开的窗口/标签页。
如果你用window.open()创建一个窗口,你可以用window.close()关闭它,否则你不能用js关闭它。