明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

canvas.toDataURL image/png 報錯應(yīng)該如何處理

[摘要]這次給大家?guī)韈anvas.toDataURL image/png 報錯應(yīng)該怎么處理,處理canvas.toDataURL image/png 報錯的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。問題背景:遇到一個需求,要對播放的視頻進(jìn)行截圖,視頻使用video標(biāo)簽來播放,然后點擊視頻播放區(qū)域時...
這次給大家?guī)?a target="_blank">canvas.toDataURL image/png 報錯應(yīng)該怎么處理,處理canvas.toDataURL image/png 報錯的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

問題背景:

遇到一個需求,要對播放的視頻進(jìn)行截圖,視頻使用video標(biāo)簽來播放,然后點擊視頻播放區(qū)域時截取實時的幀圖片。

代碼很簡單如下:

var video = document.getElementById('video');   
  
var canvas = document.getElementById('canvas');   
  
var ctx = canvas.getContext('2d');   
  
var img = document.getElementById('img');   
  
function snapshot() {   
   ctx.drawImage(video,0,0);   
   img.src =  canvas.toDataURL('image/png');   
}   
  
video.addEventListener('click', snapshot, false);

問題提示:

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

經(jīng)過查閱和分析,發(fā)現(xiàn)這個其實是由于視頻文件所在的域和圖片和頁面所在域不同,出現(xiàn)跨域傳輸?shù)膯栴}。

解決方案:

將視頻文件放到頁面所在域下。

相信看了這些案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)閱讀:

怎樣讓移動端的網(wǎng)頁內(nèi)容自適應(yīng)

table表格中的內(nèi)容溢出應(yīng)該如何處理

怎么實現(xiàn)獲取textarea的動態(tài)剩余字?jǐn)?shù)

以上就是canvas.toDataURL image/png 報錯應(yīng)該怎么處理的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。