sessions.Session

Session 对象代表用户在当前浏览会话中关闭的标签页或窗口。

如果标签页被关闭但其窗口未被关闭(例如,用户点击了“关闭标签页”按钮,并且该标签页不是其窗口中唯一的标签页),则会话将表示为 Tab 对象。

如果窗口被关闭(例如,用户点击了“关闭窗口”按钮,或关闭了窗口中唯一打开的标签页),则会话将表示为 Window 对象。

请注意,不同浏览器对于一个会话何时是 Tab 何时是 Window 的定义可能有所不同。例如:

  • 在 Chrome 中,如果用户关闭了一个包含多个标签页的窗口,则该会话被记录为一个 Window。如果用户关闭了一个只包含一个标签页的窗口,则被记录为一个 Tab。
  • 在 Firefox 中,如果用户关闭了一个窗口(或最后一个标签页),则会话被记录为一个 Window;如果用户关闭了一个不是其窗口中最后一个标签页的标签页,则被记录为一个 Tab。

一个已打开的标签页的 Tab 对象将没有 sessionId。当标签页被关闭时,它将具有 sessionId 但没有 id。如果标签页被恢复,它将获得一个新的标签页 id 并失去 sessionId

类型

此类型的值是对象。它们包含以下属性:

lastModified

number。该标签页或窗口被关闭的时间,以 自纪元以来的毫秒数表示。

tab 可选

object。如果该对象代表一个已关闭的标签页,则此属性存在,并且将是一个 tabs.Tab 对象。如果扩展具有访问标签页 URL 的“tabs” 权限主机权限,则该对象将包含 urltitlefavIconUrl

window 可选

object。如果该对象代表一个已关闭的窗口,则此属性存在,并且将是一个 windows.Window 对象。

浏览器兼容性

注意: 此 API 基于 Chromium 的 chrome.sessions API。