манифест расширения chrome v3, доступ к переменной окна
Как получить доступ к переменной окна страницы через Manifest v3.
В версии 2 я мог бы получить доступ сценария содержимого к переменной окна страницы, вставив javascript на главную страницу. Однако appendChild() для кода javascript не работает в V3.
Я пробовал использовать scripting.executeScript, но это по-прежнему не влияет на возможность доступа к переменной окна (DOM доступен).
Например, следующий код предположительно внедряется в frameid 0, но окно верхнего контекста javascript все еще не читается:
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
// since only one tab should be active and in the current window at once
// the return variable should only have one entry
const activeTab = tabs[0];
const activeTabId = activeTab.id; // or do whatever you need
chrome.scripting.executeScript({
target: { tabId: activeTabId, frameIds: [0] },
files: [filePath],
});
});
1 ответ
Возможно, я не очень хорошо понимаю вашу проблему, но:
1. Если страница, к которой вы хотите получить доступ, является расширением страницы, вам не нужно вводить какой-либо сценарий содержимого для получения какой-либо переменной.
2. Если вы хотите получить переменную сценария содержимого, которую вы создали \ установили на вкладке, вы должны отправить сообщение сценарию содержимого на этой вкладке с просьбой вернуть ее значение вместе с этим сообщением.
3. Если вы хотите получить переменную главной страницы (из вашего сценария возможного контента), у вас нет никакой надежды из-за изолированных мировых правил.