在我为销售开发的MVC应用程序中,我有一个按钮,用于打开一个不允许在新标签页中打开iframe的网页。因此,当销售代理使用此按钮时,他们通常不会关闭应用程序打开的选项卡,并且在一天结束时,有20-30个打开的选项卡。所以,我想知道是否有一个脚本我可以添加到一个可以关闭的新按钮:
在视图中,我有
<input type="submit" onclick="return OpenInNewTab('http://test.com');" name="command" value="nonIframe" background-image:url(../images/URL/Test.png);" class="submit" />
//Function OpenInNewTab
function OpenInNewTab(url) {
var win = window.open(url, '_blank');
win.focus();
return false;
}
我正在使用此脚本,但它只关闭当前标签。我希望当前标签打开并关闭所有其他标签或关闭整个浏览器本身。
<script language="JavaScript">
function closeIt() {
close();
}
</script>
<center>
<form>
<input type=button value="Close Window" onClick="closeIt()">
</form>
</center>
任何建议都会非常感激。 谢谢
答案 0 :(得分:12)
如果你有手柄,你只能关闭窗户。这意味着你的页面必须是打开它们的页面(或者你以某种方式传递了句柄)。
示例:
var winGoogle = window.open('http://google.com', '_blank');
var winBing = window.open('http://bing.com', '_blank');
var winYahoo = window.open('http://yahoo.com', '_blank');
//close the windows
winGoogle.close();
winBing.close();
winYahoo.close();
您可以将这些新窗口存储在一个数组中,并在需要关闭它们时迭代句柄。
var windows = [];
//each time you open a new window, simply add it like this:
windows.push(window.open('http://google.com', '_blank'));
//then you can iterate over them and close them all like this:
for(var i = 0; i < windows.length; i++){
windows[i].close()
}
答案 1 :(得分:2)
HTML:
window.open('', '_self', '').close();
的javascript:
{{1}}
IT会在不提示权限的情况下关闭当前标签页。
答案 2 :(得分:0)
以穆罕默德·穆斯塔克(Mohamed Musthaque)的出色回答为基础...我想打开一个新选项卡,然后关闭当前选项卡。这在Chrome中完美做到了
<a href='https:...'
onclick='window.open(this.href); window.open("", "_self", "").close(); return false;'>
Open new tab, close this one
</a>