webNavigation.getFrame()
语法
js
let gettingFrame = browser.webNavigation.getFrame(
details // 对象
)
参数
details
-
object
。要获取信息的框架的信息。tabId
-
integer
。该框架所属的标签页 ID。 processId
可选 已弃用-
integer
。在现代浏览器中未设置该值。当设置时,它表示运行此标签页渲染器的进程 ID。 frameId
-
integer
。给定标签页中该框架的 ID。
返回值
一个 Promise
,且该 promise 会以包含以下属性的对象兑现:
errorOccurred
-
boolean
。如果该框架中的最后一次导航因错误中断(即触发了onErrorOccurred
事件),则为真。 url
-
string
。当前与该框架关联的 URL(如果由frameId
标识的框架曾经存在于由tabId
标识的标签页中)。某个 URL 与特定frameId
关联并不意味着该框架当前仍然存在。 parentFrameId
-
integer
。该框架的父框架的 ID。如果没有父框架(即该框架为标签页中的顶层浏览上下文),则为 -1。
如果标签页被丢弃,则该 promise 将兑现为 null
。如果找不到指定的标签页或框架 ID,或发生其他错误,则 promise 将以错误信息拒绝。
浏览器兼容性
示例
js
function onGot(frameInfo) {
console.log(frameInfo);
}
function onError(error) {
console.log(`Error: ${error}`);
}
let gettingFrame = browser.webNavigation.getFrame({
tabId: 19,
frameId: 1537,
});
// Edge 专属:processId 并非可选项而是必选项,必须为一个整型而非 null
//let gettingFrame = browser.webNavigation.getFrame({ tabId: 19, processId: 0, frameId: 1537 });
gettingFrame.then(onGot, onError);
备注:
此 API 基于 Chromium 的 chrome.webNavigation
API。该文档衍生自 Chromium 代码中的 web_navigation.json
。