用户操作¶
某些操作可通过 CFR 的按钮上的 action 等字段提供给消息。
用法¶
对于 CFR,您应该在 action 中添加操作 type,并在 data 中添加任何其他参数。例如
"action": {
"type": "OPEN_PREFERENCES_PAGE",
"data": { "category": "sync" },
}
可用操作¶
OPEN_FIREFOX_VIEW¶
参数:无
打开 Firefox 查看伪标签。
OPEN_PRIVATE_BROWSER_WINDOW¶
参数:无
打开一个新的隐私浏览窗口。
OPEN_URL¶
参数:
string(一个 URL)
打开给定的 URL。
示例
"action": {
"type": "OPEN_URL",
"data": { "args": "https://foo.com" },
}
OPEN_ABOUT_PAGE¶
参数
{
args: string, // (a valid about page without the `about:` prefix)
entrypoint?: string, // URL search param used for referrals
}
打开给定的 about 页面
示例
"action": {
"type": "OPEN_ABOUT_PAGE",
"data": { "args": "privatebrowsing" },
}
OPEN_PREFERENCES_PAGE¶
参数
{
args?: string, // (a category accessible via a `#`)
entrypoint?: string // URL search param used to referrals
Opens `about:preferences` with an optional category accessible via a `#` in the URL (e.g. `about:preferences#home`).
Example:
```json
"action": {
"type": "OPEN_PREFERENCES_PAGE",
"data": { "category": "general-cfrfeatures" },
}
SHOW_FIREFOX_ACCOUNTS¶
参数:无
打开 Firefox 账户注册页面。默认情况下,会编码一些信息,表明来源是代码片段。
FXA_SIGNIN_FLOW¶
参数
{
// a valid `where` value for `openUILinkIn`. Only `tab` and `window` have been tested, and `tabshifted`
// is unlikely to do anything different from `tab`.
where?: "tab" | "window" = "tab",
entrypoint?: string // URL search params string to pass along to FxA. Defaults to "activity-stream-firstrun".
extraParams?: object // Extra parameters to pass along to FxA. See FxAccountsConfig.promiseConnectAccountURI.
}
示例
"action": {
"type": "FXA_SIGNIN_FLOW",
"needsAwait": true,
"navigate": "actionResult",
"data": {
"entrypoint": "onboarding",
"extraParams": {
"utm_content": "migration-onboarding"
}
}
}
打开 Firefox 账户注册或登录页面,并在登录完成后关闭生成的标签页或窗口。返回一个 Promise,如果登录成功,则解析为 true,如果登录窗口或标签页在登录完成前关闭,则解析为 false。在使用 aboutwelcome 模板的消息界面中,设置 needsAwait 可确保 UI 等待 Promise 解析完成。UI 应在继续执行下一步之前,将 navigate 和 dismiss 属性分配为字符串值“actionResult”以遵循解析后的布尔值。
默认情况下,会编码一些信息,表明来源是 about:welcome。
SHOW_MIGRATION_WIZARD¶
参数:无
打开导入向导,以从其他浏览器导入设置和数据。
PIN_CURRENT_TAB¶
参数:无
固定当前聚焦的标签页。
HIGHLIGHT_FEATURE¶
可用于突出显示(显示浅蓝色覆盖层)浏览器 UI 的某个按钮或部分。
参数:
stringUITour 中定义的有效目标
INSTALL_ADDON_FROM_URL¶
可用于从 addons.mozilla.org 安装附加组件。
参数
{
url: string,
telemetrySource?: string
};
OPEN_PROTECTION_REPORT¶
打开 about:protections
OPEN_PROTECTION_PANEL¶
在地址栏锁定图标后面打开保护面板
DISABLE_STP_DOORHANGERS¶
禁用所有社交跟踪保护消息
参数:无
OPEN_AWESOME_BAR¶
聚焦并展开地址栏。
参数:无
CANCEL¶
用于关闭 CFR 通知(但不删除或阻止它们)的空操作。
参数:无
DISABLE_DOH¶
关闭 DoH 功能的用户操作
参数:无
ACCEPT_DOH¶
继续使用 DoH 功能的用户操作
参数:无
CONFIGURE_HOMEPAGE¶
配置用户主页和恢复默认设置的操作。
参数
{
homePage: "default" | null;
newtab: "default" | null;
layout: {
search: boolean;
topsites: boolean;
highlights: boolean;
topstories: boolean;
}
}
PIN_FIREFOX_TO_TASKBAR¶
将 Firefox 固定到用户任务栏的操作。
参数:无
SET_DEFAULT_BROWSER¶
将用户系统上的默认浏览器设置为 Firefox 的操作。
参数:无
SET_DEFAULT_PDF_HANDLER¶
将用户系统上的默认 PDF 处理程序设置为 Firefox 的操作。
仅限 Windows。
参数
{
// Only set Firefox as the default PDF handler if the current PDF handler is a
// known browser.
onlyIfKnownBrowser?: boolean;
}
DECLINE_DEFAULT_PDF_HANDLER¶
拒绝将用户系统上的默认 PDF 处理程序设置为 Firefox 的操作。防止再次询问用户此问题。
仅限 Windows。
参数:无
SHOW_SPOTLIGHT¶
使用传递给对话框的内容打开聚光灯标签页或窗口模式的操作。
BLOCK_MESSAGE¶
通过将消息添加到已阻止消息的 IndexedDB 列表中来禁用消息
参数:
string消息 ID
SET_PREF¶
设置各种浏览器首选项的操作
可以使用此操作更改的首选项为
browser.dataFeatureRecommendations.enabledbrowser.migrate.content-modal.about-welcome-behaviorbrowser.migrate.content-modal.import-all.enabledbrowser.migrate.preferences-entrypoint.enabledbrowser.shopping.experience2023.activebrowser.shopping.experience2023.optedInbrowser.shopping.experience2023.survey.optedInTimebrowser.shopping.experience2023.survey.hasSeenbrowser.shopping.experience2023.survey.pdpVisitsbrowser.startup.homepagebrowser.startup.windowsLaunchOnLogin.disableLaunchOnLoginPromptbrowser.privateWindowSeparation.enabledbrowser.firefox-view.feature-tourbrowser.pdfjs.feature-tourbrowser.newtab.feature-tourcookiebanners.service.modecookiebanners.service.mode.privateBrowsingcookiebanners.service.detectOnlymessaging-system.askForFeedback
任何以 messaging-system-action. 开头的首选项也允许。或者,如果首选项不在上述列表中,并且不以 messaging-system-action. 开头,则会创建它并在前面加上 messaging-system-action.。例如,example.pref 将被创建为 messaging-system-action.example.pref。
参数
{
pref: {
name: string;
value: string | boolean | number;
}
}
MULTI_ACTION¶
运行多个操作的操作。操作应包含在一个操作数组中。
参数
{
actions: Array<UserAction>
}
示例
"action": {
"type": "MULTI_ACTION",
"data": {
"actions": [
{
"type": "OPEN_URL",
"args": "https://www.example.com"
},
{
"type": "OPEN_AWESOME_BAR"
}
]
}
}
CLICK_ELEMENT¶
参数:
string要单击的 HTML 元素的 CSS 选择器
选择当前窗口文档中的元素并触发单击操作
RELOAD_BROWSER¶
参数:无
重新加载当前浏览器的操作。
FOCUS_URLBAR¶
聚焦显示消息的窗口中的地址栏
参数:无
BOOKMARK_CURRENT_TAB¶
为显示消息时选定的标签页添加书签
参数
{
// Whether the bookmark dialog should be visible or not.
shouldHideDialog?: boolean;
// Whether the bookmark confirmation hint should be visible or not.
shouldHideConfirmationHint?: boolean;
}
SET_BOOKMARKS_TOOLBAR_VISIBILITY¶
设置书签工具栏的可见性。
参数
{
visibility?: string; // "always", "never", or "newtab"
}
CREATE_NEW_SELECTABLE_PROFILE¶
创建一个新的用户配置文件并在单独的实例中启动它。
任何使用此操作的消息都应将 canCreateSelectableProfiles 作为目标的一部分,以确保我们不会意外地显示操作无法执行的消息。
参数:无