Распознавание ссылок
Приветствую!
Например имеется 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, время: 02:19. |