>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >вытащить все ссылки с активной вкладки http://forum.mozilla-russia.org/viewtopic.php?id=27927 |
Орец > 19-11-2008 18:43:19 |
Здравствуйте. С этой командой код вообще не хочет работать... Отлаживаю с помощью расширения Custom Buttons. Пробовал до этого брать содержимое странички через и обрабатывать регулярным выражением, но на некоторых сайтах часть ссылок игнорировалась. |
homo_nudus > 19-11-2008 19:36:19 |
А разве content.document.links не работает? |
Орец > 19-11-2008 20:22:03 |
homo_nudus пишет
Работает. Немного поправлю. Нужно чтобы кроме самой ссылки было и её название. |
Infocatcher > 19-11-2008 20:33:59 |
Орец |
Орец > 19-11-2008 20:51:07 |
Спасибо, теперь полный набор А как можно захватить ещё и фреймы на страничке? 19-11-2008 21:06:31 |
Infocatcher > 19-11-2008 21:16:37 |
Орец пишет
Примерно вот так: Выделить код Код:function parseWin(win) { someFunction(win); for(var i = 0, len = win.frames.length; i < len; i++) parseWin(win.frames[i]); } parseWin(content); |
Орец > 19-11-2008 21:57:26 |
Получилось. Правда какая-то сложная конструкция выходит чтобы добраться до названий всех ссылок. . |
Infocatcher > 19-11-2008 22:33:31 |
Гм, а что сложного-то? Выделить код Код:var linksArr = []; function parseLink(link) { var href = link.href; var text = link.textContent; // Может понадобиться дополнительная обработка для <a ...><img /></a> // Делаем что-нибудь с href и text. linksArr.push(href + " - " + text); } function getLinks(win) { var links = win.document.links; for(var i = 0, len = links.length; i < len; i++) parseLink(links[i]); } function parseWin(win) { getLinks(win); for(var i = 0, len = win.frames.length; i < len; i++) parseWin(win.frames[i]); } parseWin(content); alert(linksArr.join("\n")); |
Орец > 20-11-2008 10:25:41 |
Здорово |