javascript - 访问 HTML5 音频响应 header

标签 javascript html5-audio

是否可以以任何方式在Javascript中访问HTML5音频源的HTTP响应 header (以便我可以读取它们)?

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

编辑2:

似乎可以使用 ( service workers ) 访问 header 我尝试过类似的事情:

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 header )。

编辑

如果您想在 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();
});

关于javascript - 访问 HTML5 音频响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713869/

相关文章:

php - 保存从 PHP 动态生成的文本字段

javascript - 为 Javascript 应用程序存储持久本地数据的轻型解决方案

javascript - 如何强制用户在 JavaScript 加载之前不要点击(灯箱)

javascript - 在html中播放wav音频文件的移动波形

javascript将数组中的唯一项分组

javascript - 将 ajax 请求的 JSON 结果存储到 Easyautocomplete 的 javascript 变量

javascript - HTML5 音频播放列表 - 如何在第一个音频文件结束后播放第二个音频文件?

javascript - 无法在 javascript 中为音频设置 currentTime(仅限 IOS)

javascript - 如何理解 Web Audio API panner 节点的 "distance"方法之间的关系

android - 无法在 Android 上播放音频 - Sencha Touch SDK 工具 2.0.0