我很难找到从 Safari 应用程序扩展中关闭选项卡的方法。
我可以打开一个标签
SFSafariApplication.getActiveWindow(completionHandler: {
$0?.openTab(with: url, makeActiveIfPossible: true)
})
然而,返回的 SFSafariTab 和 SFSafariWindow 都没有close()
(或performClose()
)。
我可以向扩展的 JS 端发送友好消息并运行window.close();
,但这仅限于也通过 Javascript 创建的选项卡。用户打开的任何选项卡,或被target="_blank"
阻止。
第三个选项似乎是已弃用的 Safari JS Extension API。我还没有成功地完成这项工作,在这样的死胡同上投入时间感觉很恶心。