我在后台页面中使用监听器来了解加载选项卡的时间:
chrome.tabs.onUpdated.addListener(function (tabId) { })
Run Code Online (Sandbox Code Playgroud)
但是监听器被解雇了两次:当页面开始加载时,以及页面何时完成.是否有办法区分这两种情况?
Omi*_*iod 82
幸运的是找到了解决方案.
还有一个附加参数保存状态值:
chrome.tabs.onUpdated.addListener(function (tabId , info) {
if (info.status === 'complete') {
// your code ...
}
});
Run Code Online (Sandbox Code Playgroud)
状态可以是loading或complete.
Cha*_*ira 11
打开选项卡后,我想要一种更简单的方法
function createTab (url) {
return new Promise(resolve => {
chrome.tabs.create({url}, async tab => {
chrome.tabs.onUpdated.addListener(function listener (tabId, info) {
if (info.status === 'complete' && tabId === tab.id) {
chrome.tabs.onUpdated.removeListener(listener);
resolve(tab);
}
});
});
});
}
Run Code Online (Sandbox Code Playgroud)
所以它会
let tab = await createTab('http://google.com');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26131 次 |
| 最近记录: |