Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要用JavaScript在后台打开一个新窗口,并确保原始窗口仍然是焦点_Javascript_Html - Fatal编程技术网

我需要用JavaScript在后台打开一个新窗口,并确保原始窗口仍然是焦点

我需要用JavaScript在后台打开一个新窗口,并确保原始窗口仍然是焦点,javascript,html,Javascript,Html,我打开了一个带有Javascript函数的窗口: function newwindow() { window.open('link.html','','width=,height=,resizable=no'); } 我需要它,一旦新窗口打开,焦点返回到原来的窗口。 我该怎么做? 我应该把代码放在哪里——新窗口还是旧窗口? 谢谢 这被称为“pop-under”(人们普遍不赞成……但我离题了)。。它应该会给你很多关于谷歌的信息 您可能希望执行以下操作: var popup = window

我打开了一个带有Javascript函数的窗口:

function newwindow() 
{ 
window.open('link.html','','width=,height=,resizable=no'); 
}
我需要它,一旦新窗口打开,焦点返回到原来的窗口。 我该怎么做? 我应该把代码放在哪里——新窗口还是旧窗口?
谢谢

这被称为“pop-under”(人们普遍不赞成……但我离题了)。。它应该会给你很多关于谷歌的信息

您可能希望执行以下操作:

var popup = window.open(...);
popup.blur();
window.focus();

这应该会将焦点设置回原始窗口(未经测试-从google获得)。一些浏览器可能会阻止这项技术。

这被称为“pop-under”(通常不赞成……但我离题了)。。它应该会给你很多关于谷歌的信息

您可能希望执行以下操作:

var popup = window.open(...);
popup.blur();
window.focus();
这应该会将焦点设置回原始窗口(未经测试-从google获得)。某些浏览器可能会阻止此技术。

您可以使用 “模糊”或 要做到这一点,需要“集中精力”

“模糊”

“聚焦”

将代码放入父窗口(即您现在所在的窗口)

两者都可以使用。

您可以使用 “模糊”或 要做到这一点,需要“集中精力”

“模糊”

“聚焦”

将代码放入父窗口(即您现在所在的窗口)


两者都可以使用。

调用window.open后,您可以尝试使用

window.resizeTo(0,0); 
window.moveTo(0,window.screen.availHeight+10);

这种方式并不能真正在后台打开窗口,但工作原理与此类似。Chrome工作正常,没有尝试其他浏览器

调用window.open后,您可以尝试使用

window.resizeTo(0,0); 
window.moveTo(0,window.screen.availHeight+10);
这种方式并不能真正在后台打开窗口,但工作原理与此类似。Chrome工作正常,没有尝试其他浏览器

如果不适合您,并且您确实希望窗口可见,但要在当前窗口后面打开,您可以尝试在“开启器”窗口中打开一个新选项卡并立即关闭,这将使焦点回到“开启器”窗口

window.open('link.html','','width=,height=,resizable=no');  
window.open().close();
但是,我认为第二个窗口是在选项卡中打开还是在新窗口中打开取决于您的浏览器设置

请不要使用“pop unders”来表示邪恶。

如果对您不起作用,并且您确实希望窗口可见,但要在当前窗口后面打开,您可以尝试在“开启器”窗口中打开一个新选项卡并立即关闭,这将使焦点回到“开启器”窗口

window.open('link.html','','width=,height=,resizable=no');  
window.open().close();
但是,我认为第二个窗口是在选项卡中打开还是在新窗口中打开取决于您的浏览器设置



请不要用“pop-unders”来表示邪恶。

我尝试过使用blur()功能,但在Firefox中效果不太好,所以我想这应该会更好——我只是不确定如何返回到原始窗口。我还看到了window.opener.focus()=有人知道我会如何使用它吗?弹出窗口拦截器有了一些进步。我并不奇怪浏览器会阻止这项技术——它几乎总是被用来作恶。大多数网站都讲述了在后台打开新窗口的相同技巧,但都不起作用。删除JavaScript/jQuery等中的任何其他技巧。@devenweir-它现在可能被浏览器阻止。我尝试使用blur()功能,但在Firefox中效果不太好,所以我想这应该会更好-我只是不确定如何返回原始窗口。我还看到了window.opener.focus()=有人知道我会如何使用它吗?弹出窗口拦截器有了一些进步。我并不奇怪浏览器会阻止这项技术——它几乎总是被用来作恶。大多数网站都讲述了在后台打开新窗口的相同技巧,但都不起作用。删除JavaScript/jQuery等的任何其他技巧。@devenweir-它现在可能被浏览器阻止。它在FireFox中对我有效,你遇到了什么类型的问题。谢谢。你说得对——不过我不确定这段代码在Chrome中是否能正常工作。我会试试的-非常感谢!!在FireFox中它对我有效,你遇到过什么类型的问题。谢谢。你说得对——不过我不确定这段代码在Chrome中是否能正常工作。我会试试的-非常感谢!!嗯,我有一个测试,我想点击一个按钮,但有12个不同的窗口(来自服务器的Post data response)要打开,以查看布局并快速/轻松地比较它们,到目前为止,我只能获得绑定onClick事件的最后一个getelementbyId,我认为这是因为窗口失去焦点,无法在结果上找到其他IDwindow@DanMcGrath-这肯定有合法的用途。在我的例子中,我们有链接到外部供应商网页的“交易”搜索结果。其中一家供应商(称为Abenity)为每个用户提供了一个唯一的登录url,该用户必须先登录Abenity才能查看他们的任何交易。现在,我们不能在这个Abenity登录url上进行AJAX访问,我们希望用户保持在我们的页面上。。。因此,我们最好的选择是以“弹出”的方式打开登录窗口,让用户保持在我们的页面上,然后将用户重定向到Abenity页面上的交易(他们现在已登录)。有时好的用户体验必须胜过好的编程:P@DanMcGrath我正在从web服务()获取数据,需要两件事:1)部分数据出现在当前窗口中;2) 服务站点的一个页面将在后台打开。所以,这就是使用这种技术的原因…好吧,我有一个测试,我想点击一个按钮,但有12个不同的窗口(从服务器发送数据响应)打开查看布局并快速/轻松地比较它们,到目前为止,我只能得到绑定onClick事件的最后一个getelementbyId,我认为这是因为窗口失去焦点,无法在结果上找到其他IDwindow@DanMcGrath-这肯定有合法的用途。在我的例子中,我们有链接到外部供应商网页的“交易”搜索结果。其中一个供应商(称为Abenity)为每个用户提供了唯一的登录url,并且该用户必须是