2014-03-03 50 views
2

我已經構建了一個JavaScript應用程序,可讓您拍攝視頻快照。Cross Origin資源共享啓用視頻Safari 7畫布

該視頻由亞馬遜s3託管,並且該存儲分區具有跨源存儲資源共享標頭,以允許所有設置。

視頻標籤具有crossOrigin =「anonymous」屬性集。

該應用在Chrome和Firefox中正常工作,沒有錯誤。

當我在畫布上調用toDataURL(),我得到以下信息

Unable to get image data from canvas because the canvas has been tainted with cross-origin data. 

SecurityError: DOM Exception 18: An attempt was made to break through the security policy of the user agent. 

做什麼其他步驟我需要得到這個既具有遠程託管的視頻和toDataURL工作() ?

回答

2

缺少代理服務器上的視頻,這裏沒有什麼可以做的。 Safari尚不支持HTMLVideoElement上的crossOrigin屬性。

+0

您能詳細說明我如何將視頻代理到我的服務器,它是一個託管在heroku上的rails應用程序嗎? – topher6345

+0

將一些代碼添加到處理該視頻的GET請求的服務器。該處理程序然後將來自視頻的跨源服務器的響應。不要指向交叉源URL,而是發佈到本地服務器上的路徑,該路徑設置爲以這種方式代理移除視頻。您需要與託管網頁的服務器位於同一個域中才能使用該服務器。 –

+0

我在另一個與CORS有關的問題中提到了這個概念:http://stackoverflow.com/a/18113025/486979 –