我无法使用javascript关闭当前的浏览器标签。
我试过 -
window.close(); //1
window.open("", '_self');//2
setTimeout(function(){
window.close();
},100);
window.open('','_parent',''); //3
window.close();
window.top.opener=null; //4
window.close();
Chrome中没有什么对我有用
答案 0 :(得分:9)
只允许为使用window.open方法的脚本打开的窗口调用window.close方法。
答案 1 :(得分:3)
window.open('', '_self', '').close();
请参阅此thread
的原始答案答案 2 :(得分:1)
据我所知,您无法使用Javascript关闭浏览器标签。这不是常见的做法......
我不确定你是否可以这样做,因为有些浏览器根本没有任何标签...
但试试这个,可能适合你:
window.top.close();
参考:Another Question in stackoverflow
或:
<a href="javascript:window.open('','_self').close();">close</a>
答案 3 :(得分:0)
您只能关闭自己创建的窗口/标签页。也就是说,您无法以编程方式关闭用户创建的窗口/选项卡。
例如,如果您使用window.open()
创建一个窗口,则可以使用window.close()
将其关闭。
答案 4 :(得分:0)
请尝试使用以下
repositories {
jcenter()
mavenCentral()
}
希望,这会有所帮助!
答案 5 :(得分:0)
如前所述,您只能关闭之前打开的窗口/标签页。您的所有代码段都不符合此要求。
如果要从父窗口关闭子窗口,则需要存储对它的引用,例如:
var child = window.open("");
setTimeout(function(){
child.close();
},100);
如果要从自身关闭子窗口,则需要在窗口内运行代码。
如果用空白文档覆盖当前文档,则代码将消失。
现在,Chrome是一个特殊的野兽。它会在不同的进程中打开每个选项卡。这意味着涉及不同标签的几种好的旧技术根本不起作用。例如,您甚至无法使用window.open()中的target参数来共享窗口。
答案 6 :(得分:0)
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script>
var win;
$(document).ready(function () {
var url = 'this tab url';
win = window.open(url, '_self');
window.stop();
});
function closeWindow() {
win.close();
}
</script>
然后在html中
<a href="javascript:closeWindow();">close</a>
如果要加载多个牙齿,请等待一段时间
setTimeout(
function()
{
//do something special
//window.stop();
}, 5000);