tabs.toggleReaderMode()

为给定的标签页切换阅读模式。

该函数用于切换给定标签页的阅读模式。它接受一个标签页 ID 作为参数;如果省略该参数,则切换当前活动的标签页的阅读模式。

这是一个返回 Promise 的异步函数。

阅读模式(Reader Mode),也称为阅读视图,是浏览器的一个功能,通过以下方式帮助用户专注于文章内容:

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

阅读模式特别适用于文章类型的页面,即主要以正文内容为特色的页面。不具备可识别文章的页面则无法显示在阅读模式中。要判断一个页面是否为文章,请检查 tabs.TabisArticle 属性。

要查看一个标签页是否已处于阅读模式,请检查 tabs.TabisInReaderMode 属性。若要跟踪标签页进入或退出阅读模式,请记录所有标签页的当前状态,并检查 isInReaderMode 何时发生变化:

js
function handleUpdated(tabId, changeInfo, tabInfo) {
  if (changeInfo.status === "complete") {
    console.log(`标签页 ${tabId} 的阅读模式状态:${tabInfo.isInReaderMode}`);
  }
}

browser.tabs.onUpdated.addListener(handleUpdated);

语法

js
let toggling = browser.tabs.toggleReaderMode(
  tabId            // 可选的整型
)

参数

tabId 可选

integer。要切换为阅读模式的标签页的 ID。默认为当前窗口中选定的标签页。

返回值

一个 Promise,在标签页更新后其会被兑现且不带有参数。如果发生任何错误(例如因页面不是文章类型),promise 将会被拒绝并返回错误信息。

示例

以下代码会将符合条件的每个新页面切换到阅读模式:

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

browser.tabs.onUpdated.addListener(switchToReaderMode);

浏览器兼容性

BCD tables only load in the browser