Я знаю, что могу использовать run_at: document end для запуска скрипта после загрузки страницы, но большинство сайтов теперь внедряют большую часть своего контента через какую-то среду js.Из того, что я могу сказать, сценарий content.js запускается до того, как он может закончиться.
У меня есть некоторые идеи о том, как это сделать, но я не совсем уверен, действительно ли они имеют смысл, или даже как это сделать.их, если они сделали.
Запускайте мой скрипт каждый раз, когда обновляется DOM, так что, если добавлена гиперссылка, я могу просто снова удалить hrefs.
Я нашел это domwatcher вещь в происхождении uBlock , я предполагаю, что он делает что-то подобное для того, чтобы удалить любую рекламу, которая появляется, но это действительно сложно, и я не уверен, какие вещи мне понадобятся или не понадобятся.
Запускайте расширение каждую секунду или две.Это кажется действительно неуклюжим, но, может быть, это стандартная вещь?Я не уверен.Я также не знаю, как заставить скрипт контента повторяться, что-то такое простое не могло вызвать проблем с производительностью, верно?
Javascript-скрипты выполняются по порядку, когда они перечислены вHTML верно?Так, может быть, я добавлю сценарий в конец всех этих?Но они все равно работают асинхронно, так что, вероятно, не будет работать.В любом случае, какой-нибудь способ запустить мой скрипт после того, как все остальные сделаны.Могу ли я поместить их в обещания?
Также вот моя страница GitHub со всем кодом .
Соответствующий манифест:
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": ["content.js"],
"run_at": "document_end"
}
]
И content.js:
chrome.storage.sync.get('isEnabled', function (data) {
if(!data.isEnabled) {
return;
}
for (let link of document.links) {
link.removeAttribute('href');
console.log(link);
}
});