let requests = request_url_list.map(url => fetch(url))
var main_list = await Promise.all(requests)
for (var i = 0; i < main_list.length; i++) {
alert(main_list[i])
}
Спасибо! Немного запутанная у них система, зачем было делать две изолированные среды?
Но вроде разобрался, в background.js слушаем активности в браузере, например клик по расширению, а в content.js (точнее любых js файлах объявленных в манифесте в графе content.js) в функции-обработчике принимаем сообщение от background.js и уже выполняем нужные нам действия, типа того же поиска элементов. Вот так работает.
Спасибо, "clicked_browser_action" я исправил, но проблема не исчезла.
Насколько я понял исполняемые скрипты нужно помещать в файл background.js, чтобы они по клику срабатывали. Там по клику как раз всё отрабатывает.
Но возникла новая проблема - расширение не находит элементы. Какой-нибудь простой запрос document.getElementsByClassName("project__selector").length при запуске из консоли в браузере возвращает 1, а из расширения возвращает 0. Причём document.getElementsByClassName("project__selector") и из расширения и из консоли возвращает [object HTMLCollection].
А если и старая и новая страница имеет одинаковые элементы? Разве мы не обратимся в таком случае к старому элементу, если новая страница не загрузилась?
сергей кузьмин, не слышал, пойду гуглить. Судя по названию мы ждём загрузки адреса, который содержит url, который мы передадим. Но разве это сработает, если и адрес старой страницы и адрес новой обе содержат этот url? Разве тогда этот метод не сработает ещё при старой ссылке пока страница не обновилась?
galaxy, уже методом тыка нашёл решение, проблема была с разрешением на запись в папку data. Запустить инсталлятор от имени админа не догадался (может и помогло бы). Я просто зашёл через учётку админа и оттуда запустил инсталлятор (наверное это тоже самое). Прочитал ещё, что до 8 версии postgres не требовал права администратора, а сейчас требует. Короче, усложнили жизнь новичкам. В принципе теперь всё работает, базы создавать могу, только в pgAdmin всё ещё отображается старая база, хотя я папку ту удалил. Видимо осталось в реестре что-то. Но через pgAdmin удалилось без проблем.
galaxy, удалил полностью postgres обе версии, все папки какие нашёл снёс. Устанавливаю по новой, вылазит такая ошибка
spoiler
А при удалении ещё такая ошибка была (хотя postgres нигде запущен не был)
spoiler
Нашёл такую инструкцию
spoiler
1) Выполнил
2) Как это сделать?
3) Команду выполнил, в hosts строку добавил
4) Имеется в виду создать нового пользователя на ПК с именем Postgres и паролем Postgres?
5) Не понял как сделать
6) Не понял как сделать
а как правильно переустановить, чтобы старые данные не удалились? Я просто не в курсе зачем вообще postgres был установлен на компе, он нужен системе или зачем он вообще? Мало ли удалю, а там что-то важное системное было. Комп не рабочий, просто домашний ПК.
galaxy, у меня какие-то 3 разные папки, на всякий случай в каждой в pg_hba.conf в методах поставил trust:
папка PostgreSQL версии 8.4 в папке C
spoiler
@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
папка PostgreSQL-prev-2018-26-Sep-16-16-03 в папке C
spoiler
@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
папка PostgreSQL 12 версии в папке C/Program Files
spoiler
@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
@remove-line-for-nolocal@local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
# для пользователя test
local all all all trust
В pgAdmin показывает, что какой-то сервер есть (пользователь postgres), но он без пароля не пускает
spoiler
Хотя везде прописал trust и posrgres перезапускал.
UPD: из трёх папок выше только в первой есть папка data и там папки base, global, pg_*
galaxy, pg_hba.conf находится в папке share, там нет папок base, global, pg_*
spoiler
В службах есть строка posrgresql-8.4 - PostgreSQL Server 8.4 Когда я в первый раз зашёл его перезапустить, там были пункты "остановить", "перезапустить" и ещё какой-то. Я его несколько раз перезапускал и в итоге сейчас он выключен и включаться не хочет, есть только пункт "запустить", но он выполняется несколько минут и выдаёт ошибку.
Ещё я не знал, что posgres вообще установлен и скачал 12 версию, а на компе оказалась 8.4 Они не будут конфликтовать или ещё что?
UPD: удалил из pg_hba.conf строку с local и в сервисах postgres снова стал успешно перезапускаться. Но в pgAdmin всё так же не получается создать сервер, ошибка Unable to connect to server:
FATAL: password authentication failed for user "test"
galaxy, IDE показывает. Сейчас в файле pg_hba.conf прописал host all all 127.0.0.1/32 trust, перезапустил через службы, всё равно не работает и через pgAdmin не даёт сервер создать. Пока тестил несколько раз перезапускал postgres и теперь он вообще не хочет перезапускаться через службы, перезагрузка ПК не помогает.
Drno, это из-за того, что для корректной работы той же операционки нужно установить кучу всего. Обычный рядовой пользователь не хочет разбираться зачем каждый отдельный компонент, даже не каждый технарь/айтишник/прогер (нужное подчеркнуть) захочет в этом ковыряться и изучать. Рядовой пользователь и подавно. Рядовому пользователю нужно как можно быстрее начать пользоваться софтом. Вот когда пользователь устанавливает игру на компьютер вместе с игрой скопом идёт ещё куча всяких программ, будет ли человек разбираться что делает каждая в отдельности? Я думаю что 99% людей не будет разбираться. Поздравляю, вы попадаете в 1% любознательных людей, кто будет разбираться. И подозреваю вы технарь, айтишник и вообще жизнь связываете с этим делом. Но таких как вы очень мало, поэтому спрошу ещё раз - чему вы удивляетесь?
Я имею в виду, что отдельно я его не устанавливал. Возможно установил с каким-то больших набором программ, например при установке винды. Просто прокликал везде ОК и всё. Чему вы удивляетесь?