用户操作¶
某些操作可通过 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 的某个按钮或部分。
参数:
string
UITour 中定义的有效目标
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.enabled
browser.migrate.content-modal.about-welcome-behavior
browser.migrate.content-modal.import-all.enabled
browser.migrate.preferences-entrypoint.enabled
browser.shopping.experience2023.active
browser.shopping.experience2023.optedIn
browser.shopping.experience2023.survey.optedInTime
browser.shopping.experience2023.survey.hasSeen
browser.shopping.experience2023.survey.pdpVisits
browser.startup.homepage
browser.startup.windowsLaunchOnLogin.disableLaunchOnLoginPrompt
browser.privateWindowSeparation.enabled
browser.firefox-view.feature-tour
browser.pdfjs.feature-tour
browser.newtab.feature-tour
cookiebanners.service.mode
cookiebanners.service.mode.privateBrowsing
cookiebanners.service.detectOnly
messaging-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
作为目标的一部分,以确保我们不会意外地显示操作无法执行的消息。
参数:无