tabs.toggleReaderMode()

切换给定选项卡的阅读器模式。

此函数切换给定选项卡的阅读器模式。它以选项卡 ID 作为参数:如果省略,则切换当前活动选项卡。

这是一个异步函数,它返回一个 Promise

阅读器模式,也称为阅读视图,是一种浏览器功能,可让用户更轻松地专注于文章,方法是

  • 隐藏不必要的页面元素,如侧边栏、页脚和广告
  • 更改页面的文本大小、对比度和布局,以提高可读性。

阅读器模式特别适用于文章:这意味着页面以正文内容作为主要功能。没有可识别文章的页面不适合在阅读器模式下显示。要确定页面是否为文章,请检查 tabs.TabisArticle 属性。

要确定选项卡是否已处于阅读器模式,请检查 tabs.TabisInReaderMode 属性。要跟踪选项卡进入或退出阅读器模式,您需要跟踪所有选项卡的当前状态,并在 isInReaderMode 更改时进行检查

js
function handleUpdated(tabId, changeInfo, tabInfo) {
  if (changeInfo.status === "complete") {
    console.log(`Tab ${tabId} reader mode: ${tabInfo.isInReaderMode}`);
  }
}

browser.tabs.onUpdated.addListener(handleUpdated);

语法

js
let toggling = browser.tabs.toggleReaderMode(
  tabId            // optional integer
)

参数

tabId 可选

整数。要以阅读器模式显示的选项卡的 ID。默认为当前窗口的选定选项卡。

返回值

一个 Promise,当选项卡更新后,它将以没有任何参数的方式完成。如果发生任何错误(例如,因为页面不是文章),则承诺将被拒绝并显示错误消息。

示例

此代码将每个新页面切换到阅读器模式(如果该页面符合条件)。

js
function switchToReaderMode(tabId, changeInfo, tabInfo) {
  if (changeInfo.isArticle) {
    browser.tabs.toggleReaderMode(tabId);
  }
}

browser.tabs.onUpdated.addListener(switchToReaderMode);

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。