Получить возвращаемое значение функции в сценарии выполнения

#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-адресам. Если я это сделаю, то смогу получить доступ к данным. Спасибо за ваш комментарий