Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поочереди перейти по всем ссылкам со страницы (https://javascript.ru/forum/misc/38385-poocheredi-perejjti-po-vsem-ssylkam-so-stranicy.html)

irvin12345 30.05.2013 08:53

Поочереди перейти по всем ссылкам со страницы
 
Нужно обойти все ссылки со страницы. Все переходы нужно сделать в текущем окне.

Собственно, получаю все ссылки, но переходит сразу на последнюю. Чего-то не хватает?
var a=this.querySelectorAll('.links');
    for (var i=0; i<a.length; i++){
        document.location=a[i].value;
    }

zebra 30.05.2013 10:20

А вы сами как думаете? Есть у вас идеи почему не выходит?

irvin12345 30.05.2013 10:26

Цитата:

Сообщение от zebra (Сообщение 253556)
А вы сами как думаете? Есть у вас идеи почему не выходит?

программирую на js первый день, еще нет должного понимания, как и идей почему.

zebra 30.05.2013 10:36

Что делает 3-я строчка?

ruslan_mart 30.05.2013 14:57

irvin12345, ну естественно не будет работать, как Вы себе это представляете? У Вас код срабатывает на одной странице, затем идёт переход на другую страницу, где данного кода уже нет, а если даже и есть, то он будет срабатывать заново.

irvin12345 31.05.2013 01:17

Цитата:

Сообщение от Ruslan_xDD (Сообщение 253605)
irvin12345, ну естественно не будет работать, как Вы себе это представляете? У Вас код срабатывает на одной странице, затем идёт переход на другую страницу, где данного кода уже нет, а если даже и есть, то он будет срабатывать заново.

ок, сделал через сохранение ссылок в хранилище:
localStorage.setItem
localStorage.getItem
localStorage.removeItem
и анализ его при загрузке страницы.

Идем дальше. Можно ли как-нибудь сделать это без перезагрузки скрипта? Т.е. есть расширение (например для хром), оно запускается 1 раз при заходе на урл, и дальше все переходы чтобы шли под его управлением(в текущей или в крайнем случае в соседней вкладке)

ruslan_mart 31.05.2013 05:20

irvin12345, можно добавить на страницу iframe, и делать все переходы в нём. Или можно с помощью ajax, и при переходе менять ссылку в адресной строке через history.pushState(0, 0, 'url').

Aetae 31.05.2013 08:01

Если использовать дополнительную вкладку, то можно так. Но это не особо красиво.
(function(){
	var w = window.open('about:blank','linker'), d = w.document;
		d.open();
		d.write('<html><body>Вспомогательная вкладка</body></html>');
		d.close();

	var win = window,
		links = ['http://ya.ru', 'http://google.ru', 'http://javascript.ru'],
		l = links.length,
		i = 0;
		
	(function timeout(){
		win.location.href = links[i++ % l];
		w.setTimeout(timeout, 1500)
	}());
}())

Deff 31.05.2013 10:41

Достаточно простая реализация - фрейм во всю вкладку и подстановка по очереди всех ссылок в src фрейма,
Тогда не нужны правки и запоминания выполненных ссылок
Достаточно обойтись одним скриптом и массивом ссылок

dmitriymar 31.05.2013 10:48

Очередной "сёрфер".
Угадайте, есть ли защита от подобного и сколько лет назад начали от подобного защищаться...?


Часовой пояс GMT +3, время: 19:31.