我正在尝试做两件事,1。我需要在背景中打开一个新标签而不给它重点,并且2.我需要能够使用javascript写入该页面。 (我只关心它在Chrome上工作)
现在,如果我使用此代码......
var handle = window.open("text/html", '_blank');
handle.document.write(reportPath);
handle.document.title = "Export Report";
我可以打开一个新的并写入它,但是,那个窗口被推到了你的脸上,我不想发生这种情况,因为它严重地中断了我的用户的工作流程(我想继续关注前一个窗口)。
但是,我可以使用此代码......
var a = document.createElement("a");
a.href = "about:blank";
a.target='_blank'
var evt = document.createEvent("MouseEvents");
//the tenth parameter of initMouseEvent sets ctrl key
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
a.dispatchEvent(evt);
哪个效果很好(它在背景中打开新标签),但是,我无法写入打开的新窗口,因为我无法获得新窗口的句柄。
有人可以告诉我如何使用第一种方法打开窗口而不给它焦点,或者告诉我如何使用第二个窗口,但不知何故得到该窗口的句柄以便我可以写入它
正如我之前所说,我只需要这个代码适用于Chrome,它是我公司的网络应用程序,这里的每个人都使用Chrome,所以我不在乎它是否适用于其他浏览器。
答案 0 :(得分:0)
除了上面的答案,您还可以为新窗口执行handle.blur()以失去焦点。