簡體   English   中英

訪問 HTML5 音頻響應頭

[英]Access HTML5 Audio Response Headers

是否可以在 Javascript中以任何方式訪問 HTML5 音頻源的 HTTP-Response-Headers(以便我可以閱讀它們)?

<audio id="myaudio" controls>
   <source src="/test.mp3" type="audio/mpeg">
</audio> 

編輯2:

似乎有可能通過服務工作者訪問標頭,我嘗試了類似的方法:

if ('serviceWorker' in navigator) {
   console.log('CLIENT: service worker registration in progress.');
   navigator.serviceWorker.register('/service-worker.js').then(function(){
      console.log('CLIENT: service worker registration complete.');
     }, function() {
          console.log('CLIENT: service worker registration failure.');
     });
} else {
   console.log('CLIENT: service worker is not supported.');
}

我的 service-worker.js 看起來像(僅作為示例:):

self.addEventListener('fetch', function(event) {
   console.log("SENDING REQUEST: " + event.request.url);
   if(event.request.url === 'https://localhost/test.mp3') {
      event.respondWith(
         fetch(event.request.url, {
            method: "GET",
            headers: {
               "Authorization": "myToken",
            },
            redirect: "follow"
         }).then(function(response) {
            //check for response header here...
            return response;
         })
      );    
    }
 });

我遇到的問題是,我無法調試代碼(使用 Firefox 70),這使得測試變得有點困難,我無法創建最終答案......

如果您只想查看標題,請在 chrome 中加載頁面並按 f12 打開開發人員工具。

所有響應都將在“網絡”選項卡下,單擊響應,您將看到與其關聯的數據(包括 http 標頭)。

編輯

如果您想在 js/jquery 中執行此操作,最好的辦法是為每個源發出 ajax 請求,然后以這種方式獲得響應。

例如...

let url = $('#myaudio').find('source').first().attr('src');

$.ajax({
    //ajax config with `url` for audio source
})
.done(function(response, textStatus, xhr){
    let headers = xhr.getAllResponseHeaders();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM