我有一个 twitter 登录,知道 Google 和 Facebook 有自己的 用于打开登录弹出窗口的脚本 它甚至可以在 Safari 上运行,但 twitter 不行。所以我们实现了自己的,我们面临的问题是 IOS 设备正在阻止打开的弹出窗口:
window.open(url, '_blank', 'height=400,width=800,left=250,top=100,resizable=yes', true);
我也尝试在阅读后创建一个 anchor 标签( Bypassing popup blocker in safari ):
<a id="js__twitter__popup-link" target="_blank" style="visibility: hidden;"></a>
那我们将 URL 添加到 href
this.twitterPopupLink.setAttribute('href', url)
,然后 document.querySelector("#js__twitter__popup-link").click()
,但在 IOS 上即使这样也不会打开新页面。测试人员说,在 iPad 上打开了弹出窗口,但使用 IOS 模拟器它没有在 iPad 上为我打开。可以肯定的是它不会在 上打开弹出窗口手机 通过。
最佳答案
on IOS it won't open a new page even that way
正确的。弹出窗口阻止程序的目的是防止弹出窗口。您可以想象的任何解决方法,他们可能也已经想象和阻止了。
通常,您只能在一种情况下打开弹出窗口 - 紧接在 之后。用户发起点击。通过 JavaScript 触发点击不会绕过这一点。
关于javascript - Safari 阻止弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59792016/