Приложение Rails приводит к поломке JavaScript - PullRequest
0 голосов
/ 20 января 2019

Я загружаю пару файлов javascript, затем вызываю функцию.Он отлично работает на моем локальном компьютере, но как только я помещаю его в приложение rails, я получаю сообщение об ошибке: Uncaught TypeError: videojs.getPlayer не является функцией.

Полная ошибка:

Uncaught TypeError: videojs.getPlayer is not a function
at HTMLDocument.<anonymous> ((index):254)
at fire (jquery.self-.js?body=1:3233)
at Object.fireWith [as resolveWith] (jquery.self-.js?body=1:3363)
at Function.ready (jquery.self-.js?body=1:3583)
at HTMLDocument.completed (jquery.self-.js?body=1:3618)

Я попытался добавить его в локальный / статический HTML-файл, который работает нормально.Это заставляет меня поверить, что у него есть что-то, что делает либо с турбо-ссылками, либо с jquery, который я также установил.

<div>
<video-js id="myPlayerID"
data-video-id="5582672913001"
data-account="4946658880001"
data-player="9GbrNQqvn"
data-embed="default"
class="video-js" controls></video>
</div>
<script src="https://players.brightcove.net/4946658880001/9GbrNQqvn_default/index.min.js"></script>
<div>
<p>video start cookie value = <span id="cookieDisplay1"></span></p>
<p>current cookie value = <span id="cookieDisplay2"></span></p>
</div>
<script type="text/javascript" src="https://res.cloudinary.com/thypowerhouse/raw/upload/v1547938129/fishflicks_brightcove/plugin-dev.js"></script>
<script type="text/javascript">
var options = {"overlayText": "SKIP IT", "cue_point": 15};
</script>
<script>videojs.getPlayer('myPlayerID').pluginDev(options);</script>

Загружаемый видеоплеер ДОЛЖЕН отображать вступительную ссылку пропуска, и следует установить значение cookie для запуска видео.до 0

1 Ответ

0 голосов
/ 20 января 2019

Запрос на получение библиотеки videojs является асинхронным. Возможно, вам понадобится добавить проверку, чтобы увидеть, загружена ли библиотека, или загрузить ее вручную в javascript с обещанием / обратным вызовом, чтобы вызвать вашу функцию, как только это будет сделано

...