时刻页面¶
什么是时刻页面?¶
时刻页面是一个网页 URL,它会在现有 Firefox 桌面用户后续启动时加载,适用于满足时刻消息配置中指定的定位的用户配置文件。
时刻页面与 WNP (新功能页面) 不同,后者在用户更新到新主版本时根据该通道/构建的可执行文件中内置的配置显示。时刻页面在常规重启时(而非升级时)显示,并且可以通过消息系统进行远程配置。
同步启动行为的约束阻止了等待远程设置做出定位决策,导致“时刻页面”在后续启动时显示。
启动首选项生命周期¶
选择/阻止/显示的过程如下
- 在任何 - “update”周期开始时(即以定期间隔,最好是在远程设置更新时)
- 检查覆盖首选项 - browser.startup.homepage_override.once;如果设置了消息 ID,则取消阻止该消息,因为它尚未显示。清除覆盖首选项。
- 运行消息通过定位并选择一条消息。 
- 立即阻止所选的消息。 
当消息在启动时显示时
- 清除覆盖首选项。 
时刻页面的示例¶

测试时刻页面¶
通过开发者工具:¶
- 在搜索选项卡中转到 - about:config,将- browser.newtabpage.activity-stream.asrouter.devtoolsEnabled设置为- true
- 打开一个新标签页,在搜索选项卡中转到 - about:asrouter
- 在开发者工具中,从 - panel_local_testing作为提供程序选择并显示消息
- 您应该看到带有 - "template": "update_action"的示例 JSON 消息。您可以直接在文本区域中修改消息或通过粘贴自定义消息 JSON 进行修改。为了测试,请将配置中的- id属性保持与修改的消息相同。
- 单击 - Modify会更新覆盖首选项- browser.startup.homepage_override.once并配置消息系统在下次浏览器重启时打开消息配置中的时刻 URL。
- 确保所有必需的属性都根据 时刻架构 进行了覆盖 
- 重启 Firefox,您的时刻页面应该会在重新运行时弹出 
通过实验:¶
您可以通过创建实验来测试时刻页面。 消息传递之旅 捕获了通过 Nimbus 创建实验的过程。
时刻页面的示例 JSON¶
{
  "groups": [
    "moments-pages"
  ],
  "content": {
    "action": {
      "id": "moments-wnp",
      "data": {
        "url": "https://www.mozilla.org/firefox/welcome/12",
        "expireDelta": 172800000
      }
    }
  },
  "trigger": {
    "id": "momentsUpdate"
  },
  "template": "update_action",
  "targeting": "true",
  "id": "WNP_THANK_YOU"
}