Я пишу скрипт, который должен переписать все ссылки на странице с http: // на https: // - это должно быть сделано на стороне клиента, он запускается на странице, которую я не контролирую.
Среда выполнения: только в недавнем Chrome, так как это внедренный скрипт расширения Chrome, поэтому кросс-браузер не беспокоится. Инъекция происходит в document_start
(то есть до начала загрузки DOM).
Моей первой попыткой было наблюдать за DOMContentLoaded
, а затем перебирать document.links:
document.addEventListener("DOMContentLoaded", rewriteHTTPS, false);
function rewriteHTTPS() {
var links = document.links;
for(var i in links){
links[i].href = links[i].href.replace(/http:/, "https:");
}
}
К сожалению, я понял, что страница является динамической, поэтому после запуска этого события добавляется больше ссылок.
Итак, вопрос в следующем: Каков наилучший способ захвата всех новых и измененных ссылок на странице с динамическим DOM?