为什么浏览器在预加载后会多次加载音频文件?

Why does the browser load audio files several times even after preload?

我正在 Safari 移动版上监控我们正在开发的 Web 应用程序的网络并看到:

文件之前已预加载(我想这就是为什么它在 3 行的第一行中显示“(磁盘)”),这是网络选项卡中 safari 网络检查器中的网络输出。

现在我想知道,为什么浏览器似乎先从磁盘加载它然后再次从 url 加载两次(?)。

我是不是读错了输出?

预加载是这样发生的(在用户交互时):

function preloadAudio(url)
{
  console.log("trying to preload "+ url);
  var audio = new Audio();
  loadedAudioFiles.push(audio);

  audio.addEventListener('canplaythrough', loadedAudio, false);

  audio.src = url;
  audio.load();
  audio.onerror = function failed(e)
  {
    console.log(e);
    $("#NETWORKERROR").show();
  };
}

我应该挖得更深。

遗憾地发现了这句话

Note: The preload attribute is supported in Safari 5.0 and later. Safari on iOS never preloads.

来自:https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

尽管这种说法似乎也是错误的:我经常将预加载的音频文件加载到我的系统中(通过在预加载功能 运行 之后切断连接然后触发声音来检查)。但是 Safari 移动版似乎做了一些背景魔法来决定何时加载文件,何时不加载文件。 :-(