javascript - 我的 {{url}} 怎么了?

标签 javascript angularjs youtube

在 angular.js 和 ionic 框架中,我试图列出一些 youtube 电影,我试图从数组中输入 src。

这是services.js中的数据

  var friends = [
{ id: 0, name: 'Omvända ZombieGrodor', url: '//www.youtube.com/embed/PHlIcWOwzQI?list=UUelsYLaipZjghHb8Wu_xm1g' },
{ id: 1, name: 'Höftlyft', url: '//www.youtube.com/embed/3o39iMaxVk4?list=UUelsYLaipZjghHb8Wu_xm1g' },
{ id: 2, name: 'Löparen', url: '//www.youtube.com/embed/21cLUxul11A?list=UUelsYLaipZjghHb8Wu_xm1g' },

];

这是 html:

      <div class="list card">
      <div class="item item-image item-text-wrap">
          <iframe width="385" height="217" src="{{friend.url}}" frameborder="0" allowfullscreen></iframe>
          Friend.url: {{friend.url}}
      </div>
  </div>

如果我在 src 字段中硬编码一个 URL,它就可以工作。但它不能与这个 {{friend.url}} 一起使用,这是为什么? 此外,如果我打印出 {{friend.url}}(如代码示例所示),它显示正常!

感谢您的帮助。

更新: 我已将 src 更改为 ng-src,但它仍然不起作用。

<iframe width="385" height="217" ng-src="{{friend.url}}" frameborder="0" allowfullscreen></iframe>

最佳答案

谢谢@noahmonster 将我指向这个线程 AngularJS ng-src inside of iframe它解决了我的问题。

解决方法如下:

<iframe width="385" height="217" src="{{friend.url | trustAsResourceUrl}}" frameborder="0" allowfullscreen></iframe>

(注意过滤器!)

然后我将这段代码添加到 app.js 中:

.filter('trustAsResourceUrl', ['$sce', function($sce) {
return function(val) {
    return $sce.trustAsResourceUrl(val);
};

}])

现在它就像一个魅力:)

关于javascript - 我的 {{url}} 怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773646/

相关文章:

angularjs - 适用于 Angular 的 UI 套件,可与 IE8 配合使用

javascript - 在两个 View 中使用 Angular JS 的 Ionic 应用程序的动态列表

android - 是否可以使用搜索参数在 Android 上启动 YouTube 应用程序?

javascript - 替换 jQuery 字符串中的文本

javascript - 使用 jQuery 淡入淡出背景图像?

angularjs - ng-动画 : Animation when model changes

javascript - 当我在某些移动浏览器中按播放时,YouTube API暂停

youtube - 当我只有几个订阅时,YouTube API订阅 channel 会返回TooManyEntries。有人知道为什么吗?

javascript - 向下滚动时隐藏菜单在向上滚动时显示 - Safari 的问题

javascript - 从 HTML/Javascript 中的字符串变量创建大的可下载文件