Safari 阻止弹出窗口

     2023-03-28     101

关键词:

【中文标题】Safari 阻止弹出窗口【英文标题】:Safari blocking popups 【发布时间】:2020-05-04 14:48:09 【问题描述】:

我有一个 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>

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

测试人员说,在 iPad 上打开了弹出窗口,但使用 IOS 模拟器时,它没有在 iPad 上为我打开。可以肯定的是,它不会在 iPhone 上打开弹出窗口。

【问题讨论】:

【参考方案1】:

在 IOS 上即使这样也不会打开新页面

正确。弹出窗口阻止程序的目的是防止弹出窗口。您可以想象的任何解决方法,他们可能也已经想象和阻止了。

一般来说,您只能在一种情况下打开弹出窗口 - 在用户发起的点击之后立即打开。通过 JavaScript 触发点击不会绕过这一点。

【讨论】:

感谢您的回答!我仍然理解,Facebook 和 Google 在没有用户额外点击的情况下以某种方式解决了这个问题。 Facebook 和 Google 的 OAuth 登录按钮都需要用户在 Web SDK 中单击。如果您指的是 iOS SDK,它们将在本机触发它,而不是在 Safari 中。 我们还实现了 Facebook 和 Google 登录,两个额外的按钮,但是一旦你点击按钮,弹出窗口就会打开,现在看来,对于 twitter,我需要让用户点击两次(至少在 IOS 上)。 不,您不需要单击两次。停止尝试伪造点击。制作一个带有onclick 的按钮,该按钮调用您的window.open 代码。它必须是同步的和用户启动的。 twitter 按钮是一个 web 组件,组件监听点击,点击后调用后端使用消费者 API 密钥(存储在配置文件中)获取 twitter 令牌,收到响应后,客户端尝试使用带有参数的 twitter URL 打开 twitter 弹出窗口。

window.open()某些情况会被浏览器阻止弹出窗口及解决办法(代码片段)

...pen 。  大部分现代的浏览器(泛指Chrome/Firefox/IE10+/Safari)都默认开启了阻止弹出窗口的策略,原 查看详情

ie8怎么把已经允许弹出的窗口重新阻止该窗口弹出呢?

...按Alt调出隐藏的菜单选项,单击“工具”,找到弹出窗口阻止程序,默认已经开启弹出窗口阻止程序。2、单击“关闭窗口阻止程序(B)”,选择“是”即可关闭。3、再次找到“弹出窗口阻止程序”,这时默认只有一项“启用弹出... 查看详情

如何阻止来自 iframe 的弹出窗口?

】如何阻止来自iframe的弹出窗口?【英文标题】:Howtoblockpop-upcomingfromiframe?【发布时间】:2011-05-2613:35:46【问题描述】:我正在嵌入具有退出弹出窗口的页面。当您关闭页面时,它会自动启动一个弹出窗口。如何在退出时禁用来... 查看详情

iphone怎么取消safari跳转app或者appstore?

参考技术A1.首先打开苹果手机的【设置】。2.然后点击【Safari浏览器】。3.接着在打开的界面中,将【阻止弹出式窗口】开启。4.之后打开苹果手机桌面上的【Safari浏览器】。 参考技术B对于iPhone怎么取消这个跳转APP或者是直接到这... 查看详情

弹出窗口在 iPad Safari 浏览器中无法正常运行

】弹出窗口在iPadSafari浏览器中无法正常运行【英文标题】:PopUpnotfunctioncorrectlyiniPadsafaribrowser【发布时间】:2015-01-2116:19:17【问题描述】:我有一个代码段,一旦单击按钮就会打开一个弹出窗口。这是使用JavaScript和jQuery完成的... 查看详情

在新窗口中打开页面而不阻止弹出窗口

】在新窗口中打开页面而不阻止弹出窗口【英文标题】:Openpageinnewwindowwithoutpopupblocking【发布时间】:2011-10-3115:10:33【问题描述】:希望您能在这里提供一些帮助...我有一个表单,可以翻译字段中的单词,用翻译后的术语填充字... 查看详情

我在玩 swf 游戏时如何阻止聊天窗口弹出?

】我在玩swf游戏时如何阻止聊天窗口弹出?【英文标题】:Howtoblockthechatwindowpopupwheniamplayingswfgame?【发布时间】:2012-03-2603:54:49【问题描述】:用户正在玩Flash游戏。当用户的朋友向用户发送消息时。某些游戏的swf会被facebook隐藏... 查看详情

不阻止 UI 的 jQuery 移动弹出窗口

】不阻止UI的jQuery移动弹出窗口【英文标题】:jQuerymobilepopupthatdoesnotblockUI【发布时间】:2013-11-1706:30:52【问题描述】:我可以创建一个不阻塞UI的jQuery移动弹出窗口吗?场景是这样的:我在每个项目上都有一个带有复选框的列表... 查看详情

ie9怎么设置阻止弹出窗口

...示。注意:InternetExplorer9默认情况下设置为“提示”,以阻止非安全内容,确保信息的安全。当设置为“启用”时,IE浏览器将不会在弹出”只显示安全内容”的提示。参考技术A工具---弹出窗口阻止程序---设置弹出窗口阻止程序... 查看详情

Chrome javascript地理位置未显示允许/阻止弹出窗口

】Chromejavascript地理位置未显示允许/阻止弹出窗口【英文标题】:ChromejavascriptgeolocationnotshowingAllow/Blockpopup【发布时间】:2018-07-3014:16:08【问题描述】:自上一版Chrome以来,我们似乎没有弹出允许/阻止从网站访问用户位置的弹出... 查看详情

如何检查是不是存在 SpringBoard 警报/Safari 浏览器弹出窗口?

】如何检查是不是存在SpringBoard警报/Safari浏览器弹出窗口?【英文标题】:HowtocheckifanSpringBoardalert/Safaribrowserpopupispresent?如何检查是否存在SpringBoard警报/Safari浏览器弹出窗口?【发布时间】:2016-07-1408:09:16【问题描述】:如果显... 查看详情

在新窗口中打开url(不触发弹出窗口阻止程序)

JavascripttoopenaURLinanewwindowwithouttriggeringabrowser'spop-upblocker.(Maynotworkincallbacks,butnotsurewhy.)varnewWin=window.open();newWin.location=href; 查看详情

打开新标签时检查是不是启用了弹出窗口阻止程序

】打开新标签时检查是不是启用了弹出窗口阻止程序【英文标题】:Checkifpop-upblockerisenbledwhenopennewtab打开新标签时检查是否启用了弹出窗口阻止程序【发布时间】:2017-02-0611:13:26【问题描述】:我想在chrome中的newprocess/context中打... 查看详情

弹出窗口出现时如何阻止标签栏项目变灰

】弹出窗口出现时如何阻止标签栏项目变灰【英文标题】:howtostoptabbaritemsfromturninggreywhenpopoverappears【发布时间】:2018-06-0715:03:40【问题描述】:我在我的一个视图控制器中显示一个弹出框控制器。每当弹出框出现时,活动标签... 查看详情

手机浏览器会阻止弹出窗口,请问怎么取消?

参考技术A取消手机浏览器阻止弹出窗口的具体操作步骤如下:1、首先在手机上点击打开要进行操作的浏览器,然后在此页面内点击右下方的横线图案。2、接着在弹出来的对话框内点击左侧的“设置”选项。3、接着在此页面内... 查看详情

javascript在新窗口中打开url(不触发弹出窗口阻止程序)(代码片段)

查看详情

Google 选择器身份验证弹出窗口被阻止

】Google选择器身份验证弹出窗口被阻止【英文标题】:Googlepickerauthpopupisbeingblocked【发布时间】:2015-07-1911:40:08【问题描述】:我有一个列出工作的移动网站,用户申请并上传他们的简历(简历)-我希望他们能够从他们的GoogleDri... 查看详情

即使由用户事件触发,Facebook 权限弹出窗口也会被阻止。为啥?

】即使由用户事件触发,Facebook权限弹出窗口也会被阻止。为啥?【英文标题】:Facebookpermissionpopupblockedevenwhentriggeredbyuserevent.Why?即使由用户事件触发,Facebook权限弹出窗口也会被阻止。为什么?【发布时间】:2011-09-0513:39:12【... 查看详情