请关于关闭当前窗口的java脚本。 这是我的代码,它不起作用。
<input type="button" class="btn btn-success"
style="font-weight: bold;display: inline;"
value="Close"
onclick="closeMe()">
function closeMe()
{
window.opener = self;
window.close();
}
我尝试了这个,但它不起作用
var win = window.open(“”,”_self”);
win.close();
答案 0 :(得分:6)
您无法使用未打开的javascript关闭窗口。它不适用于chrome或firefox。
有关详细信息,请参阅https://stackoverflow.com/a/19768082/2623781。
答案 1 :(得分:1)
应该是
<input type="button" class="btn btn-success"
style="font-weight: bold;display: inline;"
value="Close"
onclick="closeMe()">
<script>
function closeMe()
{
window.opener = self;
window.close();
}
</script>
答案 2 :(得分:0)
我建议将id
放入输入,然后通过回调函数关闭窗口,如下所示:
<input id="close_window" type="button" class="btn btn-success"
style="font-weight: bold;display: inline;"
value="Close">
回调函数如下:
<script>
$('#close_window').on('click', function(){
window.opener = self;
window.close();
});
</script>
我认为有时onclick
无效,请检查以下answer。
答案 3 :(得分:0)
要使用JS关闭当前窗口,请执行此操作。首先打开当前窗口,以欺骗当前选项卡,使其认为已由脚本打开。然后使用window.close()关闭它。下面的脚本应该进入父窗口,而不是子窗口。您可以在运行脚本以打开子项后运行此命令。
<script type="text/javascript">
window.open('','_parent','');
window.close();
</script>
答案 4 :(得分:0)
我找到了杰夫克莱顿的这种方法。它适用于Firefox 56和Chrome(在Windows和Android上)。
没有尝试所有可能性。在我这边,我在A链接中打开一个目标名称的窗口,例如,target =&#34; mywindowname&#34;,所以我的所有链接都在同一窗口名称中打开:mywindowname。
要打开一个新窗口:
<a href="example-link.html" target="mywindowname">New Window</a>
然后在新窗口中(在example-link.html中):
<a href="#" onclick="return quitBox('quit');"></a>
使用Javascript:
function quitBox(cmd) {
if (cmd=='quit') {
open(location, '_self').close();
}
return false;
}
希望这可以帮助其他正在寻找关闭窗口的方法的人。我尝试了很多其他方法,这是我找到的最好的方法。
答案 5 :(得分:0)
我知道这是一篇旧文章,自2017年以来进行了很多更改,但是我发现可以使用以下命令关闭当前的标签/窗口:
onClick="javascript:window.close('','_parent','');", now in 2019.
答案 6 :(得分:0)
大多数浏览器会阻止您使用未用window.open("https://example_url.com")
打开的javascript关闭窗口,但是仍然可以使用以下命令关闭当前窗口:
window.open('','_self').close()
这将在当前窗口(第二个参数)中加载一个空白的url(第一个参数),然后立即关闭该窗口。自调用close()
以来,当前的窗口已由javascript打开,因此该方法有效。
答案 7 :(得分:0)
在javascript中,仅当使用window.open(URL)方法打开窗口时,我们才能关闭窗口。
示例:-
window.open(“ https://www.google.com/”);
然后我可以使用
关闭此窗口window.close();
但是要关闭未由window.open()打开的窗口,只需做一件事
代码:-
<script>
window.open("", "_self");
window.close();
</script>
在这里,我们在要关闭的同一标签中打开空白页,然后将其关闭。
答案 8 :(得分:0)
如果无法关闭脚本未打开的窗口,则可以使用以下代码破坏页面:
document.getElementsByTagName ('html') [0] .remove ();
答案 9 :(得分:0)
我遇到了同样的问题,浏览器不允许关闭选项卡,但我为我修复了它(2021 年 6 月 12 日)。 浏览器历史必须是 1 步(在 chrome 中)才能使用 window.close(),如果您打开另一个窗口,那么您有 2 步,它将不再起作用。所以我必须关闭并打开新的每个窗口。 如果我在每个链接上添加一个 onClick=windows.close 事件并在新选项卡 (target=_blank") 中打开此链接,则历史记录停留在 1 步,并且它始终可以使用 windows.close() 关闭选项卡。
<html>
<head></head>
<body>
<div id="navbarToggler" >
<ul>
<li>
<a href class="closes" id="close"><script>document.write("[close]")</script></a>
</li>
<li>
<a class="nav-link text-nowrap " href="#" id="navbarDropdownMenuLink" >
gallery...does not close, it should be the Dropdownlink
</a>
<div aria-labelledby="navbarDropdownMenuLink">
<a href="#">self.html</a> Here you can link where you want, but every site needs the script
</div>
</li>
</ul>
</div>
<script>
document.querySelectorAll("a").forEach(function(x){
x.setAttribute('target', '_blank');
x.setAttribute('onClick', "window.setTimeout(function(){window.close();}, 50);");
document.getElementById("close").setAttribute('target', '_self');
document.getElementById("close").setAttribute('onClick', "window.close()");
document.getElementById("navbarDropdownMenuLink").setAttribute('onclick', "");
document.getElementById("navbarDropdownMenuLink").setAttribute('target', '_self');})
</script>
</body></html>
id 'navbarDropdownMenuLink' 必须通过关闭来排除,因为它是一个下拉菜单。 必须通过在新选项卡中打开来排除 id 'close',因为这是关闭当前选项卡的链接。 Firefox 需要 setTimeout 函数。
答案 10 :(得分:-1)
你可以尝试
function closed(){
setTimeout("window.close()", 500);
}
答案 11 :(得分:-2)
尝试这样做可行......
<!DOCTYPE html>
<html>
<body>
<input type="button" onclick="openWin()" value="open"/>
<input type="button" onclick="closeWin()" value="close"/>
<script>
var myWindow;
function openWin()
{
myWindow = window.open("","myWindow","width=200,height=100");
myWindow.document.write("<p>This is 'myWindow'</p>");
}
function closeWin()
{
myWindow.close();
}
</script>
</body>
</html>
这可以按照您希望的方式工作
答案 12 :(得分:-2)
仅适用于self.close();
的Google Chrome浏览器。在v48中测试。
window.close()
不会做你想做的事情,因为它的文档明确指出脚本可能只关闭它打开的窗口。