Переписывание ссылок с помощью javascript на динамической странице - PullRequest
1 голос
/ 08 сентября 2011

Я пишу скрипт, который должен переписать все ссылки на странице с 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?

1 Ответ

0 голосов
/ 08 сентября 2011

Возможно, вы захотите посмотреть на прослушивание события DOMNodeInserted , даже если его поддержка в IE кажется нечеткой. Другие ответы на этот вопрос также могут быть полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...