рабочая плнкр
арительно, Я использовал$sce.trustAsHtml(aString)
ввести строку (например,<html>...</html>
) к шаблону<div ng-bind-html="content"></div>
чтобы отобразить график при загрузке сгенерированного URL:
.state('urls', {
url: '/urls/{id}',
template: '<div ng-bind-html="content"></div>',
controller: 'UrlCtrl',
resolve: {
url: ['$stateParams', 'urls', function ($stateParams, urls) {
return urls.get($stateParams.id);
}]
}
})
app.controller('UrlCtrl', ['$sce', '$scope', 'url', function($sce, $scope, url) {
$scope.content = $sce.trustAsHtml(url.content);
}]);
Теперь HTML для генерации графа содержит ссылки на другие файлы, например,<script src="script.js"></script>
, Так мне нужнопапка файлов (.html
, .css
, .js
) нарисовать график. Я могу поместить всю папку на моем сервере, но проблема в том,как внедрить эти файлы в шаблон.
Я старалсяtemplateUrl: 'http://localhost:3000/tmp/ZPBSytN5GpOwQN51AAAD/index.html'
, загрузкаlocalhost:3000/#/urls/58b8c55b5d18ed6163324fb4
в браузере загружает HTML-страницу. Тем не мение,script.js
НЕ загружен, ошибкаFailed to load resource: the server responded with a status of 404 (Not Found)
отображается в журнале консоли.
Кто-нибудь знает, как это исправить?
В противном случае, есть ли другие способы сказать что-то вродеsrc=http://localhost:3000/tmp/ZPBSytN5GpOwQN51AAAD/index.html
(как вiframe
)? Затем,<script src="script.js"></script>
вindex.html
будет знать, что это относится кscript.js
в той же папке.
Изменить 1: После комментария @Icycool я изменился наtemplateUrl: '/htmls/test.html'
, а такжеtest.html
содержит<div ng-include="'http://localhost:3000/tmp/ZPBSytN5GpOwQN51AAAD/index.html'"></div>
, Тест показал, что он загрузилсяtest.html
а такжеindex.html
, но нетscript.js
: GET http://localhost:3000/script.js?_=1488543470023 404 (Not Found)
.
Изменить 2: Я создал два файла для тестирования:index.html а такжеscript.js. Вотplunkerниtemplate
ниtemplateUrl
работает, как объяснили ...