在Safari 12[Safari应用程序扩展]中使用JavaScript打开新选项卡
我有一个扩展,我想在扩展的JavaScript部分打开一个新选项卡。在将其迁移到Safari应用程序扩展之前,我可以在Safari 12[Safari应用程序扩展]中使用JavaScript打开新选项卡,javascript,safari,safari-extension,safari-app-extension,Javascript,Safari,Safari Extension,Safari App Extension,我有一个扩展,我想在扩展的JavaScript部分打开一个新选项卡。在将其迁移到Safari应用程序扩展之前,我可以 window.open(url, "_blank"); 但是,当我在Safari 12中作为应用程序扩展运行它时,它会将当前链接添加到阅读列表(?!) 当我在控制台中运行上面的代码时,它会打开url的一个新选项卡,但我必须在Safari首选项中启用弹出窗口。我在苹果非常糟糕的文档中找不到任何东西 这在“客户端”上是可能的,还是我必须在Swift代码中处理这一点?如果您想使用Sa
window.open(url, "_blank");
但是,当我在Safari 12中作为应用程序扩展运行它时,它会将当前链接添加到阅读列表(?!)
当我在控制台中运行上面的代码时,它会打开url
的一个新选项卡,但我必须在Safari首选项中启用弹出窗口。我在苹果非常糟糕的文档中找不到任何东西
这在“客户端”上是可能的,还是我必须在Swift代码中处理这一点?如果您想使用Safari应用程序扩展打开一个新选项卡,您需要在本机代码中完成 您可以通过获取活动窗口,然后在该窗口上调用
openTab()
方法来实现这一点
下面是实现这一点的代码段:
let myUrl = URL(string: "https://google.com")
// This grabs the active window.
SFSafariApplication.getActiveWindow { (activeWindow) in
// Request a new tab on the active window, with the URL we want.
activeWindow?.openTab(with: myUrl, makeActiveIfPossible: true, completionHandler: {_ in
// Perform some action here after the page loads if you'd like.
})
}
我不知道我可以访问<代码> SFFAARIApvest<代码>,所以我甚至没有考虑过这个问题。这帮我解决了很多头疼的问题,非常感谢!您知道是否可以定义新选项卡的位置吗?理想情况下,我希望它在当前选项卡旁边,因为我打开的页面与当前的页面相关,但是当前新的选项卡出现在最右边的所有打开选项卡的末尾。