Вы можете получить выбранную вкладку для вашего всплывающего окна, передав NULL в качестве идентификатора окна для getSelected. () В вашем всплывающем окне вы можете прослушать события расширения и выполнить скрипт для отправки содержимого в ваше всплывающее окно:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.action == "content")
{
console.log('content is ' + request.content.length + ' bytes');
}
});
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.executeScript(tab.id, { file: 'scripts/SendContent.js' } );
});
И, наконец, скрипт содержимого ... У меня он есть как "scripts / SendContent.js" в моей папке расширений, но скрипт достаточно прост, чтобы выполнить его, поместив код в свойство кода вместо имени свойство файла объекта, который вы передаете executeScript:
console.log('SendContent.js');
chrome.extension.sendRequest( {
action: "content",
host: document.location.hostname,
content: document.body.innerHTML
}, function(response) { }
);
Результат:
POPUP: content is 67533 bytes
Если у вас возникли проблемы, используйте console.log () и щелкните правой кнопкой мыши на своей странице или в действии браузера, чтобы просмотреть его и прочитать сообщения на консоли (или отладить сценарий оттуда).