我正在尝试使用rest服务使用带有javascript的html(此javascript脚本标记内的相对路径)获取html,并将其显示在我的angularjs应用程序的iFrame中。
基本上,我们正在与webfocus集成,并且在调用rest服务时,webfocus提供html内容。该html内容中包含脚本标签,并且此脚本标签具有相对路径。因此,当我尝试将html / javascript绑定到iFrame的contentWindow.document.body时,出现相对路径问题。
任何帮助将不胜感激。
Angularjs指令如下。
.directive("preview", ['$sce',function ($sce) {
function link(scope, element) {
var iframe = document.createElement('iframe');
iframe.setAttribute("id", "ifWebFocusContent");
iframe.setAttribute("name", "nameWebFocusContent");
var element0 = element[0];
element0.appendChild(iframe);
var body = iframe.contentWindow.document.body;
//var body = iframe.document.body;
scope.$watch('content', function () {
body.innerHTML = $sce.trustAsHtml(scope.content);
});
}
return {
link: link,
restrict: 'E',
scope: {
content: '='
}
};
}])
HTML代码为<preview content="reportHtml"></preview>
答案 0 :(得分:0)
当我在iframe中将基本标记添加为here时,此问题已解决 还在手表内部使用了这3行代码,而不是分配内部html。
iframe.contentWindow.document.open();
iframe.contentWindow.document.write($sce.trustAsHtml(scope.content));
iframe.contentWindow.document.close()