使用Javascript从window.open完成加载后关闭窗口

时间:2015-10-07 16:20:38

标签: javascript jquery window greasemonkey tampermonkey

请原谅我,如果之前已经回答过,但我已经搜索过并且无法找到解决问题的方法。

我在Firefox中使用Greasemonkey,在Chrome中使用Tampermonkey自动在我经常访问的网页上打开链接。以下是javascript代码:

// ==/UserScript==
var link = document.querySelector('[href*="/cgi/admin/user/ssh_login/"]');
var url = link.getAttribute('href');
var sshlink = "https://"+document.domain+url;
//alert(sshlink);
var openWindow = window.open(sshlink,"ssh","location=1,status=1,scrollbars=1,width=100,height=100");
window.blur();
setTimeout(function(){openWindow.close();},2000);

这将在新弹出窗口中打开链接,并在2000ms后关闭它。我真正喜欢的是在弹出窗口之后让openWindow.close();发生。开始加载。我已经尝试了both of these solutions,但都没有效果。

我做错了什么?有谁知道我能做些什么来完成我想要的东西?

1 个答案:

答案 0 :(得分:0)

无需使用弹出窗口向同一服务器发出GET请求。只需进行Ajax调用。

var oReq = new XMLHttpRequest();
oReq.open("GET", sshlink);
oReq.send();

无需担心弹出窗口阻止程序以及是否加载了窗口。上面的代码将对URL发出GET请求,并且它对返回的响应没有任何作用。 Basic tutorial on Ajax