2014-02-19 18 views
5

的jsfiddle這裏:http://jsfiddle.net/TegFf/73/

從這個answer,我明白了角1.2附帶嚴格的語境逃逸(SCE)啓用。這會影響使用ng-src和HTML5視頻的表達式解析器。我知道如果我在每個視頻源周圍包裝$sce.trustAsResourceUrl(videoURL),那麼Angular會照常播放它們。不過,我從API獲取視頻源列表。對我來說,循環播放數組中的項目非常昂貴,將每個源分配爲$sce.trustAsResourceUrl,然後在我的視圖中遍歷該新數組。

什麼是最有效的方式分配所有我的視頻源爲可信,而不必循環所有視頻源?我可以預先分配所有視頻源爲$sce嗎?

回答

8

它看起來像你想要將這些視頻的域名列入白名單。

app.config(function($sceDelegateProvider) { 
$sceDelegateProvider.resourceUrlWhitelist([ 
    // Allow same origin resource loads. 
    'self', 
    // Allow loading from our assets domain. Notice the difference between * and **. 
    'http://media.w3.org/**']); 
}); 

我已經有工作演示更新您的提琴:http://jsfiddle.net/spikeheap/ACJ77/1/

+0

感謝您的答覆,您可以使用$sceDelegateProvider

所有你需要做的就是增加一點配置的如下做到這一點。你發佈的小提琴與我原來的一樣嗎? – mcranston18

+0

對不起,顯然我忘了保存它!我已經更新了答案中的鏈接... – spikeheap