Не работает JavaScript-страница на Smart TV - PullRequest
2 голосов
/ 24 октября 2019

Мы создали веб-страницу JavaScript / JQuery, которая загружает данные по HTTP-запросу AJAX, сохраняет данные в локальном хранилище и обрабатывает данные (каждые 10 секунд - новая страница с частью данных).

Эта страница использовалась для показа информации о компаниях по телевизору. Небольшой ПК управляет дисплеем и показывает страницу через браузер Chrome. Теперь клиент хочет показать страницу через встроенный браузер Smart TV. Это совершенно новый пользовательский дисплей Samsung с обычными приложениями Smart TV.

Проблема в том, что страница полностью пуста. Мы тестировали и на других устройствах (Philips Smart TV, Sony Android-TV, другие устройства Samsung и так далее). На всех устройствах экран пустой.

Поэтому мы спрашиваем себя, есть ли функция или метод, который не поддерживается на Smart TV. Следующие методы мы используем. Есть ли что-нибудь (а может быть, и более того), которое не поддерживается в браузерах Smart TV?

  • У нас есть большие блоки HTML-кода, которые мы добавляем на веб-страницу со многими concat().
  • Чтобы сделать запрос, мы используем AJAX следующим образом:
$.ajax({
    type: 'GET',
    url: URL,
    headers: { 'Authorization': AuthCode },
    success: data => {
        $(`.${widget.name}`).remove();
        widget.render(urlData, data);
    },
    error: data => {
        render_failed = true;
        if (render_failed) { setTimeout(() => {render(urlData)}, 10000); }
    }
});
  • В приложении есть рекурсия. render () вызывает себя по истечении времени ожидания: setTimeout(() => {render(urlData)}, 10000)
  • Мы импортируем только JQuery: <script type="text/javascript" src="../js/jquery-3.4.1.min.js"></script>
...