Как сказано в заголовке, как я могу реализовать, чтобы сценарий содержимого вводился в соответствии с указанными пользователем веб-сайтами?
Прямо сейчас я сохраняю указанные пользователем веб-сайты в хранилище.
Я попытался сделать это программно, вставив скрипт содержимого при создании / обновлении вкладки, но у меня были проблемы с материалом перекрестного происхождения, и я не мог заставить его работать.
const injectContentScripts = function(sites)
{
// if not provided, use default.
if (!sites)
sites = 'website.com'
const urls = sites.split('\n').map(url => `*://${url}/*`)
chrome.tabs.query({ url:urls, status:'complete' }, function(tabs) {
for (const tab of tabs)
{
chrome.tabs.executeScript(tab.id, { file:'ext/jquery.min.js', allFrames:true, runAt:'document_end' }, function(){
chrome.tabs.executeScript(tab.id, { file:'content.js', allFrames:true, runAt:'document_end' })
})
}
})
}
У меня также была идея, что я могу просто отформатировать manifest. json файл после обновления пользователем, какие веб-сайты пользователь хотел бы добавить, но это не сработает, так как когда вы упаковываете расширение, оно становится этим файлом .crx или чем-то еще, не так ли?
Я пробовал искать об этом случае, но не нашел никого, кто бы об этом спросил Извините, если я что-то упустил, я не так хорош в английском sh.