说明
使用 chrome.sessions API 查询和恢复浏览会话中的标签页和窗口。
权限
sessions类型
Device
属性
- 
    deviceName
字符串
外部设备的名称。
 - 
    专题演讲
会话[]
外部设备的打开窗口会话列表,按会话的修改时间从最近到最远排序。
 
Filter
属性
- 
    maxResults
number 可选
相应列表中要提取的条目数上限。省略此参数可提取最大条目数 (
sessions.MAX_SESSION_RESULTS)。 
Session
属性
- 
    lastModified
数值
窗口或标签页关闭或修改的时间,以自纪元开始算起的秒数表示。
 - 
    Tab
标签页 可选
如果相应条目描述的是标签页,则为
tabs.Tab。系统会设置此值或sessions.Session.window。 - 
    窗口
窗口(可选)
如果相应条目描述的是窗口,则为
windows.Window。系统会设置此值或sessions.Session.tab。 
属性
MAX_SESSION_RESULTS
请求的列表中将包含的 sessions.Session 的数量上限。
值
25 
 
方法
getDevices()
chrome.sessions.getDevices(
filter?: Filter,
callback?: function,
): Promise<Device[]>
检索所有具有已同步会话的设备。
参数
- 
    filter
过滤条件(可选)
 - 
    callback
函数 可选
callback参数如下所示:(devices: Device[]) => void
- 
    设备
设备[]
每个已同步会话的
sessions.Device对象列表,按从最近修改的会话到最久之前修改的会话的顺序排序。tabs.Tab对象按新近程度在sessions.Session对象的windows.Window中排序。 
 - 
    
 
返回
- 
            
Promise<Device[]>
Chrome 96 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
 
getRecentlyClosed()
chrome.sessions.getRecentlyClosed(
filter?: Filter,
callback?: function,
): Promise<Session[]>
获取最近关闭的标签页和/或窗口的列表。
参数
返回
- 
            
Promise<Session[]>
Chrome 96 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
 
restore()
chrome.sessions.restore(
sessionId?: string,
callback?: function,
): Promise<Session>
重新打开 windows.Window 或 tabs.Tab,并提供一个可选的回调函数,用于在条目恢复后运行。
参数
- 
    sessionId
字符串(选填)
要恢复的
windows.Window.sessionId或tabs.Tab.sessionId。如果未指定此参数,系统会恢复最近关闭的会话。 - 
    callback
函数 可选
callback参数如下所示:(restoredSession: Session) => void
- 
    restoredSession
包含已恢复的
windows.Window或tabs.Tab的sessions.Session。 
 - 
    
 
返回
- 
            
Promise<会话>
Chrome 96 及更高版本仅 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。
 
事件
onChanged
chrome.sessions.onChanged.addListener(
callback: function,
)
当最近关闭的标签页和/或窗口发生更改时触发。此事件不会监控同步会话更改。
参数
- 
    callback
函数
callback参数如下所示:() => void