问题标签 [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 回答
104 浏览

swift - Safari Web 扩展程序非常慢

所以我创建了一个 Safari Web 扩展。我没有更改任何代码,而是运行了 Xcode 提供的模板代码。我单击工具栏项,然后弹出一个空白弹出窗口。加载“Hello World!”大约需要 5 秒钟。屏幕(这是 Xcode 提供的模板的一部分的屏幕)。之后,每当我再次单击工具栏项目时,“Hello World!” 屏幕立即弹出,但 Safari 直到大约 5 秒后才响应。

这是Apple的错误还是我错过了什么?我正在使用 Xcode 12.2 和 Safari 14.0.1

注意:这不会发生在 Safari 应用程序扩展上

0 投票
1 回答
614 浏览

swift - 如何使用 Swift 和 Cocoa 获取当前活动窗口

我目前正在开发一个 Safari App Extension,它由两部分组成:

  • 仅主机状态栏应用程序
  • Safari 扩展

此外,主机应用程序提供了一个全局快捷方式,可在状态栏中打开一个弹出窗口。但是,我想检查哪个应用程序的窗口当前处于活动状态,因为如果 Safari 窗口当前处于活动状态,我不想打开弹出框。有什么方法可以使用 Swift 找出当前处于活动状态的应用程序窗口吗?

谢谢您的帮助。

0 投票
0 回答
12 浏览

code-signing - 如何在使用 xcodebuild 归档之前对 safari 应用程序进行签名(不是自动签名)?

目前我正在使用 xcode10.3 来存档我的 Safari 应用程序。我正在使用以下命令来归档我的应用程序

在上述命令结束时,代码签名会自动发生。

并使用以下命令导出

我需要将其存档在一个版本的 xcode(10.3) 中并使用其他版本的 xcode(11.4.1+) 对其进行签名。

因此,我在第一个命令中使用以下开关跳过了签名

我想了解以下内容

  1. Codesigning a archive相当于archive an app and then codesign?_
  2. 我们可以先导出存档,然后再进行代码设计吗?

如果有人让我知道我必须朝哪个方向前进以及我在哪里可以理解上述内容,那将很有帮助。

0 投票
1 回答
49 浏览

macos - macOS 的 VoiceOver:如何为视图控制器设置最初聚焦的元素?

从一个视图控制器转换到下一个视图控制器后,如何设置最初聚焦的 VoiceOver 元素?

我将此作为 macOS 对 iOS 答案的后续要求:VoiceOver: force an accessibility element to be selected after a screen transition

0 投票
1 回答
36 浏览

safari-app-extension - 如何删除我的 SFSafariToolbarItem 图像中的蓝色调?

我正在 MacOS 上构建 Safari 应用程序扩展。但是,我在 Safari 中的工具栏项目是蓝色的。无论我在项目中放入什么 PDF 图像,工具栏项都会更改图像,但色调保持蓝色。有没有办法恢复最初的灰色调? 地址栏左侧的蓝色工具栏项目

0 投票
1 回答
361 浏览

ios - 在范围内找不到类型“SFSafariExtensionHandler”

我正在创建一个 Safari 应用程序扩展。我下载了 Sea Creator示例项目

我想在扩展程序和 javascript 之间发送消息。根据Apple提供的文档,我应该可以使用以下功能来做到这一点:

在 Sea Creator 项目中,我将 SafariWebExtensionHandler 修改为

但我收到构建时错误:在范围内找不到类型“SFSafariExtensionHandler”

我在 Mac OS 版本 11.4 上运行 Xcode 13.0 beta (13A5154h)

我觉得奇怪的是我从 github 下载了一个随机项目,它并没有给我同样的错误。我想知道是否缺少一些其他配置。

0 投票
0 回答
59 浏览

javascript - 如何在 iOS 15 中使用 Safari iOS App Extension 从 popup.js 获取活动选项卡的 URL?

我正在为 iOS 15.0+ 开发 Safari 应用程序扩展,我需要在 popup.js 中获取活动选项卡的 URL 并显示。

这是我在 popup.js 中的做法:

结果它什么也不返回。

我也试过

document.getElementById("appresponse").innerHTML = document.URL

但它返回当前 popup.js 文件的路径。

这是我来自 manifest.json 的权限:

和 info.plist:

0 投票
1 回答
40 浏览

javascript - Safari 应用程序扩展:工具栏弹出 JavaScript 未运行

我尝试构建一个 Safari 应用程序扩展。javaScript popup.js 不会针对工具栏图标运行。popup.html 显示正确。

popup.html

popup.js

清单.json

0 投票
1 回答
11 浏览

swift - 为什么 SFSafariPage 类型的属性变为 nil?

SFSafariPage 属性像这样获取它的值

但是当我尝试使用它时

属性 somePage 的值为 nil。为什么会这样?非常感谢!

0 投票
0 回答
28 浏览

javascript - 为什么 EventListener 不在 Safari 应用程序扩展的页面上下文中触发?

我正在尝试在“页面上下文”中做某事,为此我在页面中注入脚本,如下所示

actualCoe是_

但是当我发送消息时侦听器不会触发,在控制台中我只看到发送的消息名称。

我的 script.js 文件的完整代码

UPD:控制台错误:

那么,是否可以在此页面上注入脚本?

UPD2:在 Safari App Extension 中,我们只能从扩展包中的文件注入脚本。