我有一个javascript代码,每隔50秒从列表中打开浏览器中的新标签,但浏览器会在50tabs或更多之后崩溃。 所以我想关闭新标签,每隔50秒打开另一个标签。
我的代码是:
<html>
<head>
<script>
function openWindow(){
window.open('"about:blank"');
var x = document.getElementById('a').value.split('\n');
atTime = 0;
for (var i = 0; i < x.length; i++) {
if (x[i].indexOf('.') > 0) {
site = x[i];
if (x[i].indexOf('://') < 0) { site = 'http://' + x[i]; }
setTimeout("window.open('" + site + "')", atTime);
atTime += 50000;
}
}
}
</script>
<style>
html, body
{
height : 99%;
width : 99%;
}
textarea
{
height : 80%;
width : 90%;
}
</style>
</head>
<body>
<textarea id="a"></textarea>
<br>
<input type="button" value="Open Windows" onClick="openWindow()">
<input type="button" value="Clear" onClick="document.getElementById('a').value=''">
</body>
</html>
答案 0 :(得分:0)
window.open
返回对新窗口的引用。在该句柄上调用close
。
https://developer.mozilla.org/en-US/docs/Web/API/window.close
注意顺便说一句:
常见问题
如何阻止询问用户是否要关闭窗口的确认消息? 你不能。 javascript无法打开的新窗口通常不会被JavaScript关闭。基于Mozilla的浏览器中的JavaScript控制台将报告警告消息:&#34;脚本可能无法关闭脚本未打开的窗口。&#34;否则,浏览器会话期间访问的URL的历史记录将丢失。
答案 1 :(得分:0)
window.close()应该可以关闭你打开的标签(但不能关闭你没有打开的标签)
实际上它不能被关闭,除非它是由脚本打开的,但有一种方法可以欺骗浏览器认为是这种情况:
window.open('','_parent','');
然后你可以使用
window.close();
把它放在一起:
<script language="javascript" type="text/javascript">
function closeWindow() {
window.open('','_parent','');
window.close();
}
</script>
参考:http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html
答案 2 :(得分:0)
关闭firefox选项卡使用 window.close()的 这将关闭当前窗口。