Видео Ziggeo API не будет воспроизводиться в Heroku - PullRequest
0 голосов
/ 17 мая 2018

Я встроил видео в свой сайт, используя Ziggeo API. Я использую Handlebars для передачи токена игроку ziggeo:

<ziggeo id="zideo_player" ziggeo-width="560" ziggeo-height="315" ziggeo-playonclick="true" ziggeo-video={{this.token}}>
                </ziggeo>

Я знаю, что токен туда попал, потому что вижу его в инспекторе.

Странно то, что, когда я захожу в инспектор и меняю с ziggeo на ziggeoplayer, показывается видео, но когда я помещаю эти изменения в Heroku, оно снова не показывается.

Это как если бы игрок загружался до получения токена, и только изменяя имя, я могу повторно отправить токен.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Это оказалось проблемой асинхронности (асинхронизации). Видео пыталось загрузить, прежде чем оно могло отправлять и получать информацию от API Ziggeo. Чтобы решить эту проблему, я использовал отдельный файл js, а затем добавил информацию о видео после загрузки документа.

Подумав еще, я мог бы исправить это, поместив информацию об API Ziggeo внизу тела файла index.handlebars, а не в голову. У меня не было возможности попробовать это, так как вышеупомянутая уловка сработала, но, вероятно, она выглядела бы чище, если бы это произошло.

0 голосов
/ 18 мая 2018

v1 и v2 должны работать на Heroku.

Бенджамин, вы можете попробовать заменить этот HTML-код для встраивания кодом JS, который затем может быть отложен, если это действительно необходимо.

Например, тот же код в JS:

<script>
    //ZiggeoAPI will work only with v1-rXY/ziggeo.js v2- will require v2 app to be created and code would look just a bit different
    ZiggeoApi.Events.on("system_ready", function() {
        var player = new ZiggeoApi.V2.Player({
            element: document.getElementById("your_element_ID"),
            attrs: {
                width: 560,
                height: 315,
                theme: "modern",
                themecolor: "red",
                playonclick: true,
                video: "{{this.token}}"
            }
        });

        player.activate();
    });
</script>

Срабатывает только после загрузки и готовности системы Ziggeo.Это означает, что он запускается после того, как DOM готов и страница загружена, поэтому должно быть до того, как {{this.video}} станет доступным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...