google-chrome - 发送有关所有选项卡的信息,但侦听器仅工作一次并显示最终选项卡的 URL
问题描述
当我按下按钮时,我的扩展程序正在发送窗口中所有选项卡的选项卡 URL。由于某种原因,它只发送一条消息,只收到最后一个选项卡的 URL。我想做的是创建每个选项卡的所有 URL 的列表。因此,例如,如果一个人有两个标签“google.ca”和“bing.ca”,我将能够收集这些信息并最终列出这两个 URL。目前我只得到一个 URL,在这个例子中是 bing.ca。
背景.js
chrome.browserAction.onClicked.addListener(buttonClicked)
function buttonClicked(){
chrome.tabs.query({currentWindow:true},function(tabs){ //currentWindow:true ensures all tabs
tabs.forEach(function(tab){
chrome.tabs.sendMessage(tab.id,tab.url);
});
});
}
草图.js
chrome.runtime.onMessage.addListener(gotMessage);
var messagesReceived = 0; //even tracking how many messages are received manually and this increments
//only once
function gotMessage(message,sender,sendResponse){
console.log("\n");
console.log(message);
messagesReceived += 1;
console.log(messagesReceived);
}
解决方案
推荐阅读
- google-cloud-platform - 为什么 jupyter notebook 中的单元格在已经生成输出时显示正在执行?
- mysql - 如何在 Laravel Query Builder 上省略日期子查询的结果
- azure - 数据库重新配置失败
- scala - Play 2.5 使用的 Akka Streams 版本是什么?
- audio - 用ffmpeg中的部分mp3替换mp4文件的音频
- javascript - 我收到此错误 => TypeError: Cannot read property 'image' of undefined
- javascript - 当 style.display 进入“block”时如何自动显示 url?
- django - 安全地将复杂值序列化为 HTML 元素属性
- python - 生成相同难度的 3x3 谜题?
- javascript - 在 GET 请求中使用正文