Загрузка внешнего скрипта с использованием <script src = "..."> в Angular

Мне нужно включить скрипт с идентификатором сеанса в URL (обычно я этого не делаю, но я использую Crocodoc для встраивания документов в страницу, и у них, похоже, нет другого способа сделать это без использования iFrame, который не настраивается):

<!--sets a global variable "_doc" that is needed for initialization-->
  <script src="//crocodoc.com/webservice/document.js?session=tohY5vh3dPjUbmW6_imSQFshvQUsJ3fuJFyG7CxBU-E3AArTbELI3U0bSJBm6z5ZKtXpJQCnJ-EU1J2WGbuu6WH4e3Bglcy38TplHg"></script>

Я пробовал простые вещи, такие как:

<script ng-src="//crocodoc.com/webservice/document.js?session={{ file.crocodoc_session }}"></script>

Это хорошо записывает тег, но скрипт никогда не запрашивается. Я также попытался использовать просто "src" вместо "ng-src", но это делает запрос с "{{ file.crocodoc_session }}" в URL-адресе и не выполняет другой запрос после того, как значение идентификатора сеанса действительно записано.

Последнее, что я попробовал, - это создать директиву с функцией компиляции, в которой я использую jQuery для установки атрибута src. Это сработало, ожидайте, что я не мог понять, как передать идентификатор сессии в функцию компиляции. Я использовал атрибут "session" для элемента, но когда я передаю переменную (или использую session="{{ file.crocodoc_session }}"), я получаю имя переменной в виде строки вместо ее значения.

1 ответ

Решение

Попробуйте оценить ссылку внутри контроллера, присвоить ее переменной области, а затем сослаться на нее в ng-src.

Другие вопросы по тегам