Как получить все URL-адреса на веб-сайте, используя JavaScript? - PullRequest
3 голосов
/ 29 сентября 2010

Кто-нибудь знает способ получить все URL-адреса на веб-сайте с помощью JavaScript?

Мне нужны только ссылки, начинающиеся с того же доменного имени. Нет необходимости рассматривать другие ссылки.

Ответы [ 3 ]

17 голосов
/ 29 сентября 2010

Ну, это получит все ссылки на один и тот же хост на странице :

var urls = [];
for(var i = document.links.length; i --> 0;)
    if(document.links[i].hostname === location.hostname)
        urls.push(document.links[i].href);

Если под site вы подразумеваете, что хотите рекурсивно получить ссылкивнутри связанных страниц это немного сложнее.Вам нужно будет загрузить каждую ссылку в новый документ (например, в <iframe>) и onload проверить собственный документ iframe, чтобы найти дополнительные ссылки для добавления в список для получения.Вам нужно будет следить за тем, какие URL вы уже указали, чтобы не получать один и тот же документ дважды.Вероятно, это будет не очень быстро.

0 голосов
/ 17 мая 2019

Или в es6

[...document.links].map(l => l.href)
0 голосов
/ 29 сентября 2010

с помощью jquery вы можете найти все ссылки на странице, которые соответствуют определенным критериям

$("a[href=^domain.com]").each(function(){
      alert($(this).attr("href"));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...