2015-07-20 1 views
0

Я искал и искал хороший ответ на это, и я обещаю, и я знаю, что там много ответов, похожих на.Execute <script> теги, привязанные через ng-bind-html в AngularJS

Я прочитал это: In AngularJS, any inline javascript code that included in HTML templates doesn't work

Я попытался создать директиву, которая прослушивает ДИВ для обновления и $ компилирует его снова - что-то вроде этого: http://www.bennadel.com/blog/2745-creating-custom-script-tag-directives-in-angularjs.htm

Впрочем, ничего я нашел ответы именно в том, что мне нужно. В основном, я создал новостной сайт на работе, а страницы истории заполнены производителями через установку Drupal, которая заполняет Redis DB, который обеспечивает работу нашего сайта с помощью REST API.

Затем содержимое этих страниц заполняется следующим образом:

<div class="topExtraHtml" ng-bind-html="extras.html.top"></div> 

Время от времени производители любят добавлять вкладывается в истории, которые требуют внешних JS, так что extras.html.top потенциально может быть что-то эффект:

<script src="http://outsidesource.com/embedcode.js"></script> 
<div id="the-js-will-populate-me"></div> 

Возможно ли, чтобы это работало? Я полностью в тупике.

+0

В соответствии с связанным вопросом SO вам нужно jQuery, чтобы вставлять скрипты в шаблоны. Вы пытались включить jQuery в свой проект? Он должен быть добавлен перед угловым скриптом, поэтому jQuery используется вместо jqLite – yvesmancera

+0

Да - я загружаю jquery.js до angular.js. –

ответ

0

Если вы пытаетесь встроить javascript в реальном времени, в настоящее время Angular 1.0 не обрабатывает его. Угловой 2.0 мог бы обрабатывать инъекции скриптов и т. Д. Один из способов обойти это - либо использовать RequireJS, либо Browerserify. Могут ли производители поставить запись в файл JS (отдельно от HTML)?

+0

Не очень, к сожалению, они довольно опытные журналисты, но не так много, когда дело доходит до кода. Как будет требовать помощь? Не следует ли заранее определять зависимости? –

+0

Да, но это файл конфигурации. Это проще в управлении, и они могут просто включать его в js-файл (формат JSON). Если они слишком ленивы, чтобы включить их в два разных местоположения, вы, вероятно, можете сканировать HTML и создать свой файл конфигурации во время выполнения – frozenamazon

 Смежные вопросы

  • Нет связанных вопросов^_^