Реагировать useEffect, добавленный скрипт не запускается - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь загрузить скрипт, который после запуска генерирует фрейм и виджет погоды.Я могу правильно добавить скрипт, но он не вызывается и не генерирует iframe

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

const City = ({ content, schema }) => {
  useEffect(() => {
    let script = document.createElement("script");
    script.src =
  "https://darksky.net/widget/graph-bar/32.7174,-117.1628/us12/en.js?width=100%&height=400&title=Full Forecast&textColor=333333&bgColor=FFFFFF&transparency=false&skyColor=undefined&fontFamily=Default&customFont=&units=us&timeColor=333333&tempColor=ff8200&currentDetailsOption=true";
    script.async = true;

    document.getElementById("widget").appendChild(script);
  }, [])

  return (<div id="widget"></div>);
};

export default City;

1 Ответ

0 голосов
/ 19 сентября 2019

Обратите внимание на предупреждение, отображаемое в консоли:

Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.

См. Выполнение записи в документ: невозможно выполнить запись в документ из асинхронно загруженного внешнего сценария, если он не был явно открыт.

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