我該如何去檢測cors是否通過javascript在html5音頻元素的遠程文件上啓用?檢測cors是否啓用?
如果音頻標籤的遠程src文件啓用了cors,我想只輸出附加到AudioContext的可視化工具。
我該如何去檢測cors是否通過javascript在html5音頻元素的遠程文件上啓用?檢測cors是否啓用?
如果音頻標籤的遠程src文件啓用了cors,我想只輸出附加到AudioContext的可視化工具。
只需在加載資源前通過javascript請求文件,並檢查訪問控制允許來源標題的響應標頭。
如果資源具有標題,請使用資源的URL更新標記的src屬性。
從要求檢查頭jQuery的例子:
var audioSource = 'mysite.com/audiosource.ogg';
$.get(audioSource, function(data, textStatus, request) {
var header = request.getResponseHeader('access-control-allow-origin');
if(typeof header !== 'undefined') {
$('#audiotag').attr('src', audioSource);
}
});
值得一提的是,如果的訪問控制,允許原產頭設置,你就不會從你會正確的域名請求無論如何都被禁止加載資源
是啊從技術上說,這不是真的,你可以通過JS加載音頻文件到音頻元素,你不能在conteext。 – vimes1984
你是什麼意思,你不能在AudioContext? – glcheetham
getResponseHeader不會返回'Access-Control-Allow-Origin'的值,除非服務器也以'Access-Control-Expose-Headers'標題作爲響應,並將其列爲暴露的標題之一 –
我沒有看到任何理由來專門檢測CORS。只要嘗試訪問資源,如果失敗,不要顯示您的可視化工具。 – Bergi
是的,你沒有看到它並不意味着我不需要它... – vimes1984
但你需要什麼?禁用CORS與世俗網絡錯誤有什麼不同? – Bergi