chrome 扩展 API 刷新原始页面 windows
chrome extension API refresh page in original windows
我在 background.ts 上使用以下代码将 Chrome 扩展程序作为弹出窗口 window 打开:
chrome.windows.create({
url: chrome.runtime.getURL("index.html"),
type: "popup",
width: w,
height: h,
top: top,
left: left,
});
如果您在 opensea.io 页面并尝试连接您的 Coinbase 钱包(假设您安装了 Coinbase 扩展程序),则会发生类似的事情
在用户对弹出窗口(Chrome 扩展程序本身)执行一些操作后,我需要刷新原始选项卡。我试过 chrome.tabs.reload(arrayOfTabs[0].id);
但问题是弹出窗口被视为不同的 window 并且我无法访问原始 windows 选项卡。
欢迎提出任何建议。谢谢
假设那是开场白,我试图让自己变得活跃和专注window,但我错了。
之前
chrome.tabs.query({ active: true, lastFocusedWindow: true }, (arrayOfTabs) => {
if (arrayOfTabs.length > 0 && arrayOfTabs[0].id) {
chrome.tabs?.reload(arrayOfTabs[0].id, {});
}
});
之后
chrome.tabs.query({ active: true, windowType: "normal" }, (arrayOfTabs) => {
if (arrayOfTabs.length > 0 && arrayOfTabs[0].id) {
chrome.tabs?.reload(arrayOfTabs[0].id, {});
}
});
这样我就可以得到开启标签了。正如@wOxxOm 在评论中提到的那样,无论 window 是什么,都会识别标签,这完全是关于我正在使用的查询。
我在 background.ts 上使用以下代码将 Chrome 扩展程序作为弹出窗口 window 打开:
chrome.windows.create({
url: chrome.runtime.getURL("index.html"),
type: "popup",
width: w,
height: h,
top: top,
left: left,
});
如果您在 opensea.io 页面并尝试连接您的 Coinbase 钱包(假设您安装了 Coinbase 扩展程序),则会发生类似的事情
在用户对弹出窗口(Chrome 扩展程序本身)执行一些操作后,我需要刷新原始选项卡。我试过 chrome.tabs.reload(arrayOfTabs[0].id);
但问题是弹出窗口被视为不同的 window 并且我无法访问原始 windows 选项卡。
欢迎提出任何建议。谢谢
假设那是开场白,我试图让自己变得活跃和专注window,但我错了。
之前
chrome.tabs.query({ active: true, lastFocusedWindow: true }, (arrayOfTabs) => {
if (arrayOfTabs.length > 0 && arrayOfTabs[0].id) {
chrome.tabs?.reload(arrayOfTabs[0].id, {});
}
});
之后
chrome.tabs.query({ active: true, windowType: "normal" }, (arrayOfTabs) => {
if (arrayOfTabs.length > 0 && arrayOfTabs[0].id) {
chrome.tabs?.reload(arrayOfTabs[0].id, {});
}
});
这样我就可以得到开启标签了。正如@wOxxOm 在评论中提到的那样,无论 window 是什么,都会识别标签,这完全是关于我正在使用的查询。