runtime.getFrameId()
当从内容脚本或扩展页面(包括后台页面)调用时,返回任何窗口全局对象或框架元素的 frame ID。
语法
js
let gettingInfo = browser.runtime.getFrameId(
target // object
)
参数
目标-
一个 WindowProxy 或一个 浏览上下文 容器 Element(iframe、frame、embed 或 object),用于目标 frame。
返回值
返回目标 frame 的 frame ID,如果 frame 不存在则返回 -1。
示例
此代码会递归地遍历子 frame 并获取父 frame 的 ID。
js
const parents = {};
function visit(win) {
const frameId = browser.runtime.getFrameId(win);
const parentId = browser.runtime.getFrameId(win.parent);
parents[frameId] = win.parent !== win ? parentId : -1;
try {
const frameEl = browser.runtime.getFrameId(win.frameElement);
browser.test.assertEq(frameId, frameEl, "frameElement id correct");
} catch (e) {
// Can't access a cross-origin .frameElement.
}
for (const frame of win.frames) {
visit(frame);
}
}
visit(window);
浏览器兼容性
加载中…