使用应用扩展更改 Safari URL

Posted

技术标签:

【中文标题】使用应用扩展更改 Safari URL【英文标题】:Change Safari URL with App Extension 【发布时间】:2015-01-30 20:56:43 【问题描述】:

当触摸我的 Safari 应用程序扩展图标的图标时,我想更改 URL 而不显示新视图。这样做归结为两个问题:

如何在不显示新视图的情况下使用 Safari 应用程序扩展?我只想在按下扩展图标时执行一个后台操作。 如何更改 Safari 中的当前 URL?

【问题讨论】:

【参考方案1】:

实际上,您也许可以在 ExtensionPreprocessingJS 文件的 finalize 函数中更改 URL

   // Note that the finalize function is only available in ios.
   finalize: function(arguments) 

   // arguments contains the value the extension provides in   
   [NSExtensionContext completeRequestReturningItems:completion:].

   // In this example, the extension provides a color as a returning item.
   document.URL = arguments["newUrl"];    

【讨论】:

【参考方案2】:

您所描述的似乎是一个书签,而不是一个应用程序扩展。我非常怀疑应用程序扩展是否允许您与 Safari 交互并更新 URL,这在许多方面都是错误的,包括隐私和安全。简而言之,不可能(抱歉)。

【讨论】:

以上是关于使用应用扩展更改 Safari URL的主要内容,如果未能解决你的问题,请参考以下文章

在本机 safari 应用程序扩展中,我们如何使用 swift 的参数调用 javascript 函数?

更新 Safari 应用程序扩展内容阻止程序列表

在 Swift 4.2 Xcode 10 中使用动作扩展从 Safari 共享 PDF 文件失败

带有 Safari 扩展的 Mac App Store 应用程序

如何在没有 macOS 应用程序的情况下开发 Safari 应用程序扩展?

hello world 项目的 safari 应用程序扩展在几秒钟后崩溃