angularjs - 收到错误 : $sce:insecurl

标签 angularjs

我得到:阻止从 $sceDelegate 策略不允许的 url 加载资源。网址://www.youtube.com/embed/61aM0DXpKkc 在下面

<!DOCTYPE html>
<html >
<style>
table, th , td  {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
}
table tr:nth-child(odd) {
  background-color: #f1f1f1;
}
table tr:nth-child(even) {
  background-color: #ffffff;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
 <script src="app.js"></script>

<body>

<div ng-app="myApp" ng-controller="customersCtrl">

<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Title }}</td>


    <td>
    <iframe class="youtube-player" ng-src="{{'//www.youtube.com/embed/' + x.URL}}" frameborder="0" allowfullscreen></iframe>

</td>


<td>{{ x.URL }}</td>
</tr>
</table>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
   $http.get("http://angular.webiflex.co.uk/connect.php")
   .then(function (response) {$scope.names = response.data.records;});
});
</script>

</body>
</html>

应用程序.js

   var app = angular.module('plunker', [])
.config(function($sceDelegateProvider) {
   $sceDelegateProvider.resourceUrlWhitelist([
     'self',
     '*//www.youtube.com/embed/**'
   ]);
 });

http://plnkr.co/edit/L2kvZW8Uh45HeiGeaFtl?p=preview但我不确定我在使用 resourceUrlWhitelist 时做错了什么。

最佳答案

我设法解决了它 http://plnkr.co/edit/L2kvZW8Uh45HeiGeaFtl

通过添加

var app = angular.module('myApp', []);

app.controller('customersCtrl', function($scope, $http, $sce) {
   $http.get("http://angular.webiflex.co.uk/connect.php")
   .then(function (response) {$scope.names = response.data.records;});

  $scope.trustSrc = function(src) {
    return $sce.trustAsResourceUrl(src);
  };
});

然后

ng-src="{{trustSrc('//www.youtube.com/embed/' + x.URL)}}"

关于angularjs - 收到错误 : $sce:insecurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34773240/

相关文章:

regex - AngularJS 和 .htaccess 重定向

javascript - 将数据列表获取为 HTML,从 JavaScript 中的 Controller 中选择

javascript - TypeError : $scope. elencoTicket 不是函数

javascript - 在哪里声明长 ng 样式的属性 Angularjs

html - 使用 Angular 工作的 HTML 输入中的 Font Awesome 图标

javascript - 尝试将 $interval 与全局变量转换为函数

javascript - 如何在 UI 中渲染一个数字,每 4 个字符后有一个空格?

javascript - 如何在 angularjs 中制作日期和时间选择器?日期和时间应该在同一个界面吗?

javascript - Angular UI Bootstrap : how to add first option to select?

javascript - 将所有 ng-if 设置为 false on click 除了被点击的项目