Динамически загружать скрипт TokBox Embed в ReactJS - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь динамически загрузить скрипт встраивания TokBox в мое приложение React, когда пользователь нажимает кнопку. Тег сценария добавляется в DOM и успешно загружается, но он не загружает opentok.min.js и, таким образом, управление видео никогда не отображается. Однако добавление кода непосредственно в index.html работает нормально. Чем отличается динамическая загрузка тега?

Snippit:

import Script from 'react-load-script';
...
render() {
   return (
      <div>
         ...
         <div id="otEmbedContainer" style={{width:"300px", height:"300px"}}></div>
         {this.state.showVideo && 
            <Script
             url='https://tokbox.com/embed/embed/ot-embed.js?embedId=MYEMBEDID&room=' + this.state.roomId
            />
         }
      </div>
   )    
);

1 Ответ

0 голосов
/ 07 сентября 2018

Ответ от поддержки TokBox:

Замечено, что при загрузке встроить динамически. Вы должны запустить следующее событие также после динамической загрузки (это необходимо для загрузки встроенного в соответствии с текущим проектом).

var DOMContentLoaded_event = document.createEvent("Event")
    DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
    window.document.dispatchEvent(DOMContentLoaded_event).

Я не пробовал этого, потому что я перешел на использование решения iframe, но публикую здесь для преемственности.

...