javascript - Safari 阻止弹出窗口

标签 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);

我也尝试在阅读后创建一个 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/

相关文章:

javascript - 在窗口关闭时触发一个函数

html - CSS 列显示不正确

PHP pdo 将结果回显到表中

ios - UIScrollview 在向下滚动并推送新的 View Controller 后向上移动内容

iphone - iOS - UITabBar 按钮事件

javascript - 在 sammy.js 中注册多个路由

javascript - Webpack-dev-server 在 HTML 页面中注入(inject)包,但没有渲染任何内容

javascript - 跨域不适用于 SignalR PersistentConnection

html - 使用以下文本作为标题

ios - UIViewContentModeCenter 添加填充