Javascript window.focus()或window.blur不';在现代浏览器中不工作?

Javascript window.focus()或window.blur不';在现代浏览器中不工作?,javascript,ios8,Javascript,Ios8,我正在处理的一个项目要求我们创建一个弹出窗口,然后将焦点更改回父窗口。在Chrome、Firefox、Safari和IOS 8 Safari的许多新版本中,许多在过去似乎有效的解决方案似乎根本不起作用。例如,此W3C演示在这些浏览器中不起作用,但在IE10及以下版本中可以正常工作 看起来浏览器可能已经开始反对这个功能了,但我还没有看到关于它的文档。有人能给我指一个可以在IOS 8 Safari上使用的window.focus()和window.blur()的替代方案,或者至少是一些关于不推荐使用

我正在处理的一个项目要求我们创建一个弹出窗口,然后将焦点更改回父窗口。在Chrome、Firefox、Safari和IOS 8 Safari的许多新版本中,许多在过去似乎有效的解决方案似乎根本不起作用。例如,此W3C演示在这些浏览器中不起作用,但在IE10及以下版本中可以正常工作

看起来浏览器可能已经开始反对这个功能了,但我还没有看到关于它的文档。有人能给我指一个可以在IOS 8 Safari上使用的window.focus()和window.blur()的替代方案,或者至少是一些关于不推荐使用的方法的文档吗

-----为我的同事——迈克·利普再详细阐述一下

情况如下:

我们有一个需要显式使用弹出窗口的web应用程序。由于一些技术限制,叠加和iFrame是一种选择

虽然不可取,但新创建的弹出窗口在打开时接收焦点是可以的,但我们在弹出窗口上有一个按钮,单击该按钮时应将焦点返回到父窗口,同时保持弹出窗口打开


虽然我们有一个可以在iOS7Safari上运行的解决方案,但我们无法使用任何现代浏览器来实现这一点。不幸的是,这在iOS 8上似乎已经不起作用了。

它本身并不是不受欢迎的,但今天的浏览器试图阻止“弹出窗口”,因为它唯一真正的用途是骚扰广告和恶意软件。为什么在现代网页中使用弹出窗口呢?最近,我看到一些网站在iOS 8 Safari上这样做:1-打开一个与第一个窗口内容相同的新窗口(获取焦点);2-用广告(模糊)替换第一个窗口的内容。这会产生与您描述的类似的效果。