#javascript #google-chrome-extension #chrome-extension-manifest-v3
Вопрос:
У меня есть расширение для перехода с манифеста v2 на v3. В манифесте v3 изменился сценарий выполнения. Просто в версии 2 у меня был такой код, как;
chrome.tabs.query({
active: true,
currentWindow: true
}, function (tabs) {
chrome.tabs.executeScript({
code: "window.getSelection().toString();"
}, function (selection) {
console.log(selection[0]);
// I use the user selection for another purpose but for simplicity lets just log the selection
});
});
Теперь я изменил его на;
chrome.tabs.query({
active: true,
currentWindow: true
}, function (tabs) {
chrome.scripting.executeScript({
function: () => window.getSelection().toString(),
target: {tabId: tabs[0].id}
}, function (selection) {
console.log(selection[0]);
// For simplicity just log
});
});
Но я не могу прочитать подборку. Это всегда неопределенно. Как я могу это сделать?
Комментарии:
1. К основному результату можно получить доступ через
selection[0].result
. Если на сайте есть кадры, то это другая история, для которой есть сложное решение. Также обратите внимание, что всплывающее окно является отдельным окном, поэтому у него есть свои собственные средства разработки: щелкните правой кнопкой мыши внутри всплывающего окна и выберите «проверить» в меню.2. да, проблема в одном,
selection[0].result
а другая-в разрешениях хоста. Я пытаюсь предоставить доступ ко всем URL-адресам. Если я это сделаю, то смогу получить доступ к данным. Спасибо за ваш комментарий