Задать вопрос
@MrJack0209

Неверно работает функция. Как исправить?

Начал только изучать JavaScript. Пишу парсер, чтобы разобраться и руку набить, для скачивания mp3. Чтобы скачать отдельный трек нужно открыть отдельную вкладку. Хочу автоматизировать этот процесс, все работает, до цикла for/in. Есть предположение, что к моменту выполнению цикла страница еще не загружена, и поэтому вложенная функция getA. Но не уверен. Подскажите, пожалуйста. что не так

function getMP3(){
		var mp3 = [];				// На выходе хочу получить данный массив с прямыми ссылками
		var objTraks = getObject()	// Объект с ссылками на каждую отдельную страницу трека

		function getA(){
			var links = document.getElementsByTagName("a");
			links = Array.prototype.filter.call(links, function(x){
															return x.outerHTML.indexOf(".mp3") != -1;
														}); // Возвращает отфильтрованный массив объектов  
			mp3.push(links[0]['href']);		
		}

		// !!!В этом цикле проблема!!!
		for(var prop in objTraks){
			var w = window.open(objTraks[prop]); 	// Открывает страницу трека 
			w.getA = getA.bind(w);							// Не уверен в правильности 	
			w.getA();
			w.close();
		}
		return mp3;				// Сейчас возвращает пустой массив.
	}
  • Вопрос задан
  • 205 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы