当前位置: 首页 > 知识库问答 >
问题:

Javascript-在iOS safari中打开新选项卡而不显示弹出警告

叶越
2023-03-14

方法1。

window.open(url, "_blank");

方法2。

let a = document.createElement("a");
a.href = url;
a.target = "_blank";
a.click();

预期行为:

新的Safari选项卡无缝打开,用户无需明确“允许”弹出窗口

实际行为:

在打开新选项卡之前,用户需要单击“允许”

有没有一种方法可以通过编程实现预期的行为?

共有2个答案

蒋俊人
2023-03-14

到目前为止还没有解决办法。

请参考以下链接,

Appium iOS Safari打开新选项卡,接受警报并在两个选项卡之间切换

https://github.com/appium/appium/issues/6864

https://support.apple.com/en-us/ht203987

匡安宜
2023-03-14

您不能强制创建新选项卡,它基于浏览器设置(关于桌面上的浏览器)

而且你不能模拟浏览器的点击,让浏览器认为用户点击它打开了新窗口。。。

出于安全原因,如果用户之前没有单击任何XYZms,popupblock ker将始终拦截

 类似资料:
  • 问题内容: 我有一个选择框,当选择一个项目时会调用。Firefox默认会在新标签页中打开页面。但是,我希望页面在新窗口中打开,而不是在新标签页中打开。 我该怎么做? 问题答案: 给窗口一个“ specs”参数,该参数的宽度/高度为 有关所有可能的选项。 指定宽度/高度时,它将在新窗口(而不是选项卡)中打开它。

  • 问题内容: 我正在使用Selenium WebDriver。每个链接都会在新的浏览器窗口中打开。这对我来说不方便。如何更改它以便仅在新选项卡中打开? 问题答案: 硒目前无法切换标签。因此,我们迫使浏览器在新窗口中打开链接,但是由于我们能够切换窗口,因此我们迫使浏览器采用这种方法。这 可能 会在更高版本中修复

  • 我正在使用Selenium WebDriver。每个链接都在一个新的浏览器窗口中打开。对我来说不方便。我如何更改它,使它只在新选项卡中打开?

  • 问题内容: 我有来自第三方开发人员的JavaScript文件。它具有一个具有链接的链接,该链接将当前页面替换为目标页面。我想在新标签页中打开此页面。 这是我到目前为止所拥有的: 谁能帮我吗? 问题答案:

  • 所以我试图在我的WebDriver中打开新的标签页。我想这样做,因为打开一个新的WebDriver为每个网站使用PhantomJS约3.5秒,我想要更快... 我使用的是一个多进程python脚本,我希望从每个页面中获取一些元素,因此工作流如下所示:

  • 我想使用Selenium WebDriver和Python在不同的选项卡中打开相当多的URL。 在我的代码中有什么可以改变的地方来让新的URL在new选项卡中打开吗? 谢谢你的帮助!