Распознавание ссылок
Приветствую!
Например имеется site.ru, на странице этого сайта располагаются ссылка(и) на site2.ru, как выбрать и в дальнейшем использовать все ссылки которые направлены на site2.ru, иными словами нужно опознать ссылку по маске.. ? |
Пробовал делать через ajax таким способом, но не срабатывает..
$(document).ready(function() { var link = $("a[href^='http://site2.ru']") alert(link); }); |
Должно работать, примеры ваших ссылок в стдию.
<a href="http://site2.ru/foo?bar">site2</a> <a href="http://site2.ru/foo?bar2">site2 2</a> <script>alert([].join.call( document.querySelectorAll("a[href^='http://site2.ru']") ,'\n'))</script> |
Aetae,
Цитата:
ваш пример срабатывает, но не с моим кодом, ссылка которую нужно определить загружается после загрузки страницы.. Есть какие нибудь предложения? Может как то через eval ? Пробовал setTimeout добавлять в функцию, но все ровно не находит.. Сами ссылки создаются таким методом if (document.getElementById('links')) { document.write('<scr'+'ipt type="text/javascript" async ' +'src="http://site2.ru/test.js"></scr'+'ipt>'); } |
Естественно objectObject, а вы чего хотели? Вы получате ссылки - внутренние объекты браузера, а не текстовые строки, да ещё и обёрнутые в объект jquery.
Получить конкретно массив ссылок можно примерно так: $(document).ready(function() { var links = $("a[href^='http://site2.ru']").map(function(){return this.href}).get(); alert(links); }); Только учить основы вам всё равно придётся. |
Aetae,
Благодарю за ответ, может есть какой нибудь способ для варианта из 4 поста? Я имею ввиду ссылка создается через некоторое время после загрузки страницы, а данный скрипт считывает ссылки которые уже загрузились. То есть если сделать так document.links[номер ссылки].href, то он ее не выведет.. |
Ссылки создаются скриптом. Открываете скрипт и смотрите как он это делает.
|
Предположим, что имеется плавающий баннер с рекламой, ссылка постоянно изменяется, как можно определить текущую ссылку?
|
Попробовал сделать так, чтобы скрипт выполнялся после полной загрузки но не получилось..
window.onload=function(){ function getstat(){ $(document).ready(function() { var links = $("#ADSDIV [href^='http://site2.ru']").map(function(){return this.href}).get(); alert(links); }); } getstat(); } |
<!DOCTYPE HTML> <html> <head></head> <body> <a href="http://learn.javascript.ru/play">http://learn.javascript.ru/play</a><br> <a href="https://www.google.com">https://www.google.com</a><br> <a href="http://ru.lookatcode.com">ru.lookatcode.com</a> <script> window.onload = function () { var youhost = document.location.host.replace(/www\./, ''); var links = document.links; var len = links.length; for(var i=0, el; i < len; i+=1){ el = links[i]; if(el.href && el.href.indexOf(youhost) === -1){ alert (el + ' - внешняя ссылка') } } }(); </script> </body> </html> скрипт определяет внешние ссылки |
Часовой пояс GMT +3, время: 15:42. |