问题标签 [safari-app-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
169 浏览

redirect - 从 Safari 应用程序扩展内容阻止程序重定向

在 Safari 应用程序扩展内容阻止程序中,我是否可以将一个分配action给一个trigger允许我重定向到另一个页面而不是直接阻止它的页面?

0 投票
3 回答
490 浏览

xcode - Safari App Extension 没有第二次加载

我遇到了一个奇怪的问题,第二次运行我的 Safari 应用程序扩展时,它不会出现在 Safari 中。

  1. 打开 Xcode。
  2. 新建 > 项目。
  3. 在其他下,选择 Safari Extension App,然后单击“下一步”。
  4. 在此“产品名称”屏幕上输入您想要的任何内容,然后单击“下一步”。
  5. 点击“创建”。
  6. 单击 Xcode 左上角的 Play 图标运行项目。
  7. 它将打开一个小应用程序,底部有一个按钮,文本为:“在 Safari 扩展首选项中打开”。
  8. 它可能不会出现。如果是,请跳至 10。
  9. 进入 Safari 标题菜单中的开发,点击“允许未签名的扩展”。
  10. 出现后,选中该框以启用它。
  11. 通过单击左上角的停止图标停止 Xcode 运行。
  12. 在插件的 Info.plist 中更改一个值,例如将SFSafariWebsiteAccess.Level“Some”更改为“All”。
  13. 单击 Xcode 中的播放图标。
  14. Safari 会告诉您扩展权限已更改。确认这些更改,扩展程序将不再显示。

如果我更改其他值,也会发生同样的事情。如果我完全保持扩展代码和设置不变,则不会出现问题。但是一旦我改变了一些值,即使我改变了这些设置,它也会完全崩溃。

这发生在两台不同的 Mac 上,分别是 10.13 和 10.14 以及最新的 Xcode。

0 投票
1 回答
292 浏览

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

从 Safari 应用程序扩展创建本机内容阻止程序时,如何在插件加载后更新静态 JSON 列表?

我现在能看到的唯一方法是部署一个不会为用户自动更新的全新版本的应用程序。

是否可以从另一个 URL 更新内容阻止程序的 JSON 阻止列表文件,而无需通过 Apple 商店更新 Safari 应用程序扩展?

0 投票
1 回答
373 浏览

safari - Safari 应用程序扩展内容脚本未加载到 Safari 错误页面上?

运行 Safari 应用程序扩展时,如果 Safari 显示“无法打开页面”,则说明您的内容脚本未加载。在这种情况下,将用户重定向到新的 url 或建议页面可能会很好,例如“你的意思是……”。

是否可以在 Safari 错误页面出现时加载 Safari 应用程序扩展的内容脚本?

0 投票
1 回答
57 浏览

xcode - Mac App Store 审查屏幕中缺少图标

我有一个SKStoreReviewController用于请求 Mac App Store 评级屏幕的 Safari 应用程序扩展:

截屏

屏幕看起来应该在左侧有应用程序图标,但实际上没有。我试过ASSETCATALOG_COMPILER_APPICON_NAME在 Xcode 中设置一个有效的资产名称,但没有改变。这是为了工作吗?如果是这样,我如何在那里获得图标?

0 投票
1 回答
372 浏览

swift - 我如何从 SafariExtensionHandler 向页面上的注入脚本发送消息

override func messageReceived我可以在使用from page道具和方法收到消息时发送消息dispatchMessageToScript,但我不明白如何在injectOpenWelcomeTab方法中做到这一点。谢谢

0 投票
1 回答
186 浏览

javascript - 如何在本机 Safari 应用程序扩展中加载页面后将消息发送到选项卡

在原生 safari 扩展中,如何在页面加载后调用 dispatchMessageToScript,在 chrome 中我们使用“chrome.tabs.onUpdated.addListener(listener);” 后台脚本中的函数,这给了我们标签 URL 和“完成”状态,然后我们将消息发送到特定标签。请帮助我找到 safari 应用程序扩展的替代解决方案

0 投票
1 回答
362 浏览

safari-app-extension - Safari App Extensions:注入的脚本可以从应用程序包中加载资源吗?

我有一个 Safari 应用程序扩展,它将脚本注入到主机页面中。从那个注入的脚本中,是否可以从主应用程序包中加载诸如图像或样式表之类的资源?(我的意思是直接,没有在两者之间发送消息。)

0 投票
0 回答
93 浏览

javascript - 如何在没有 POPOVER 工具栏操作的情况下将 SSO 实施到 safari-app-extension

我正在尝试SSO在我的safari-app-extension. 我发现的唯一方法是WKWebView从内部创建和获取安全 cookie。但是有两个问题。首先这不是真正的 SSO,因为WKWebView和 safari 已经分离了 cookie 存储。第二个我不需要 POPOVER 收费栏项目操作(所有 UI 都在一个页面内组成)。有没有办法从 safari 页面获取安全的 cookie?或者至少有什么方法可以有条件地调用/不调用弹出框?我在旧的 safari 扩展中没有同样的问题,因为浏览器 cookie 与背景部分共享。

0 投票
1 回答
472 浏览

safari - Safari 应用程序扩展,如何从扩展加载本地 html 页面?

我在 Safari 应用程序扩展包中有一个 HTML 文件

在此处输入图像描述

我想用这种方法加载这个文件。