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 可选

integer。以阅读模式显示的标签页的 ID。默认为当前窗口的选定标签页。

返回值

一个 Promise,当标签页更新后,它将以无参数的形式完成。如果发生任何错误(例如,因为该页面不是文章),Promise 将会因错误消息而被拒绝。

示例

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

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

browser.tabs.onUpdated.addListener(switchToReaderMode);

浏览器兼容性