Так что, к сожалению, мне нужно встроить форму Hubspot в мое приложение Angular.Это делается путем включения внешнего скрипта и запуска некоторого кода Javascript для создания формы на странице.
Необходимо включить следующий скрипт:
<!--[if lte IE 8]>
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js"></script>
<![endif]-->
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
И затем вы можете запустить hbspt.forms.create () для создания формы.Не очень интересно, верно.
Но что интересно, этот код не работает при использовании его в приложении Angular.Я подготовил Stackblitz для проекта Angular и проекта без фреймворка.Оба кода имеют вышеуказанный код в index.html:
Угловой: https://stackblitz.com/edit/angular-bdsz3h
Без рамок: https://stackblitz.com/edit/typescript-ld9ypn
Сейчас, если вы откроете консоль на страницах и введете hbspt.forms.create (), в Angular это приведет к undefined
.Проект без фреймворка, однако, работает как положено и показывает, что это функция.Что здесь происходит и как я могу заставить его работать в Angular?