【发布时间】:2015-04-04 02:20:18
【问题描述】:
我正在处理一个表单,我必须显示像 facebook 这样的 url 的预览。因为我是 angularJS 的新手,所以我不太清楚。如果您知道任何角度 api 或库。请告诉我。所以我可以对此做更多的研究。
【问题讨论】:
我正在处理一个表单,我必须显示像 facebook 这样的 url 的预览。因为我是 angularJS 的新手,所以我不太清楚。如果您知道任何角度 api 或库。请告诉我。所以我可以对此做更多的研究。
【问题讨论】:
您可以将 $sce 服务注入控制器并信任AsResourceUrl url
在控制器中
function AppCtrl($scope, $sce) {
$scope.currentUrl = $sce.trustAsResourceUrl("http://facebook.com");
}
}
在视图中,使用 iframe
<iframe ng-src="{{currentUrl}}"> </iframe>
所以完整的代码可以是
<html>
<header>
<!-- Angular -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
</header>
<body ng-app="myapp">
<div ng-controller="AppCtrl">
<iframe ng-src="{{currentUrl}}"> </iframe>
</div>
<script>
var myapp = angular.module('myapp',[]);
myapp.controller('AppCtrl',function($scope,$sce){
$scope.currentUrl = $sce.trustAsResourceUrl("https://docs.angularjs.org"); });
</script>
</html>
您可以访问我的plnkr 以供参考。
【讨论】:
facebook.com 不允许在 iframe 中加载网站,它会抛出 facebook.com set 'X-Frame-Options' to 'DENY'. 错误消息。 Google 和 Stackoverflow 只允许在同一个域中加载它们。但是angular.org 对此没有任何限制。我想我的回答已经解决了你的问题。但是对于x-frame-options deny 错误,这完全是另一个话题。