我想展示来自Youtube,Soundcloud和其他服务的嵌入式视频和音频。关于如何做到这一点,我有两个想法,并对其他人开放。
将完整的嵌入代码放入Mongo DB中。因此Angular中的代码为{{ item.embedCode }}
。这看起来很简单,但如果嵌入代码发生变化,我必须更新数据库中的每个项目。
执行逻辑以在Angular代码中检索正确的嵌入代码。所以if ($scope.embedItem.type == 'youtube') { $scope.embedItem.embedCode = "YOUTUBE-EMBED-CODE-HERE" }
。这里的缺点是增加了应用程序的大小,增加了加载时间。我可能有数百种嵌入类型。
只想知道其他方法是什么。
答案 0 :(得分:1)
($ scope.embedItem.type =='youtube'){$ scope.embedItem.embedCode =“YOUTUBE-EMBED-CODE-HERE”}
该行少于100个字节,如果你有200个嵌入代码,那就是20kB(未压缩)的大小。如果您使用了查找数组,那么实际上只有数组本身的大小才重要,即
{ 'youtube' : 'http://youtube.com/...' },
...
将其与单独的120kB(缩小的)AngularJS进行比较 - 它应该不会给您带来麻烦。
关键是,很可能嵌入代码会发生变化,因此您现在必须为修改编写一段代码,必须对其进行测试,维护,更新和部署,可以使用等...
如果在更遥远的未来,你真的最终实现了1000个嵌入服务,你可以只向客户端发送相关的子集,并将其与客户端存储结合起来......这很容易优化,当它是非常重要。
我建议专注于准备好功能,仅在需要时进行优化。
答案 1 :(得分:0)