@kokazhaev

Как вызвать функцию в addEventListener на старых девайсах?

функцию я определяю в другом месте, затем вызываю его внутри addEventListener, все работает хорошо, но на старых устройствах функция не вызывается, кто нибудь знает как решить проблему
не работает я проверял на старых смартфонах, там стоят дефолтные браузеры это htc browser

window.addEventListener('load', fetchSettings(69320));
function fetchSettings(connector_id) {
  var http = new XMLHttpRequest();
  var params = JSON.stringify({ 'connector_id': connector_id })
  http.open('POST', 'http://192.168.88.14:3003/channels/webchat/settings', true);
  http.setRequestHeader("Content-type", "application/json; charset=utf-8");
  http.send(params);
}
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Seasle
window.onload = fetchSetting(...);, ну это, видимо, в IE?
Ответ написан
locky_yotun
@locky_yotun Куратор тега JavaScript
Я видел некоторый джаваскрипт
Странно только то, что оно работает на новых девайсах )
Метод addEventListener принимает имя события (тут у вас все хорошо), а вторым параметром — функцию (тут у вас ошибка — вы передаете не саму функцию, а результат ее вызова — точнее в вашем случае — undefined)
Вот так будет работать:
window.addEventListener('load', fetchSettings(69320));

function fetchSettings(connector_id) {
    return function () {
        var http = new XMLHttpRequest();
        var params = JSON.stringify({'connector_id': connector_id});
        http.open('POST', 'http://192.168.88.14:3003/channels/webchat/settings', true);
        http.setRequestHeader("Content-type", "application/json; charset=utf-8");
        http.send(params);
    }
}
Ответ написан
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
https://jsconsole.com/
Подключите и смотрите что там происходит на телефоне, явно какая-то ошибка будет в скриптах которая останавливает все остальные.

addEventListener чуть ли не с первых версий всех браузеров существует, не может быть ошибки в нём.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Stream Labs Москва
До 150 000 ₽
Myagi Минск
от 3 000 до 4 000 $
Mentalstack Санкт-Петербург
от 100 000 до 150 000 ₽
19 февр. 2020, в 21:01
60000 руб./за проект
19 февр. 2020, в 20:36
3000 руб./за проект
19 февр. 2020, в 19:35
500 руб./в час