Safari阻止弹出窗口

时间:2020-01-17 17:15:21

标签: javascript html ios iphone twitter

我有一个Twitter登录,众所周知Google和Facebook都有自己的脚本来打开弹出窗口,并且即使在Safari上它也可以以某种方式工作,但twitter却没有。因此,我们实现了自己的解决方案,我们面临的问题是IOS设备阻止了使用以下命令打开的弹出窗口:

 window.open(url, '_blank', 'height=400,width=800,left=250,top=100,resizable=yes', true);

我还尝试在阅读(Bypassing popup blocker in safari)之后创建锚标记:

 <a id="js__twitter__popup-link" target="_blank" style="visibility: hidden;"></a>

然后我们将网址添加到href this.twitterPopupLink.setAttribute('href', url),然后添加document.querySelector("#js__twitter__popup-link").click(),但是在IOS上,即使那样也不会打开新页面。

Tester说在iPad上打开了弹出窗口,但是使用IOS模拟器却没有在iPad上为我打开。可以确定的是,它不会在 iPhone 上打开弹出窗口。

1 个答案:

答案 0 :(得分:0)

在IOS上,即使那样也无法打开新页面

正确。弹出窗口阻止程序的目的是防止弹出窗口。您可以想象到的任何解决方法都可能已经想象到并阻止了。

通常,您只能在一种情况下打开弹出窗口-点击用户启动后立即打开。通过JavaScript触发点击不会绕过此操作。