С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 23.07.2012
Сообщений: 11

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

18.09.2016, 21:10. Показов 676. Ответов 1
Метки нет (Все метки)

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

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;                 // Сейчас возвращает пустой массив.
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2016, 21:10
Ответы с готовыми решениями:

Функция работает через раз, как исправить?
Делаю функцию, что проверяет есть ли наличие картинок по ссылке, и в итоге нужно сделать массив ссылок. Но почему то, мой код...

Функция корректно работает в Delphi 7 и не неверно работает в RAD Studio 10
Переписываю свою программу с Delphi 7 под RAD Studio 10. Столкнулся с проблемой - функция в Delphi 7 возвращает правильное значение, в...

Функция ShowWindow работает неверно
делаю фичу: чтобы нельзя было запустить копию программы, если запускается, то закрыть и найти, показать первую программу. В самой проге, на...

1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
18.09.2016, 21:46
open() -- это метод объекта window и в его круглых скобках надо писать не то, что вам в голову взбрело, а три ожидаемых браузером параметра
первый -- это URL одной конкретной страницы, которую надо загрузить в новое окно, второй -- это имя нового окна, третий -- это атрибуты нового окна
сейчас ваш код равносилен window.open ('что моя левая пятка захотела, то я и написал, как на заборе!')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2016, 21:46
Помогаю со студенческими работами здесь

Функция по вычислению определителя неверно работает.
Если коротко: Функция Det должна считать определитель для матрицы, у которой все элементы ниже главной диагонали равны 0. Т. е. по идее...

Не работает функция по причине temp'a. Не знаю как исправить
void Mass_Function_Replace(double massive, int n) { double temp; for(int i =0; i < n-1; i++) { if(abs(massive)>1) double temp;...

Неверно работает OnBlur и, как следствие - OnFocus
Собственно проблема: Открыто окно мозиллы. Если не сворачивать его, а просто переключиться на какое то другое окно, (через alt+tab...

Неверно вычисляется функция
Ребята, нужно сделать функцию, программа работает, ответ выдает, но препод говорит что неправильно, где ошибка? Private Sub...

Функция неверно заполняет матрицу
Здравствуйте, в программе функция неверно вводит массив А, заполняет первый столбец числами, остальную часть нулями. Никак не могу найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru