audio.duration不会在Safari中自动加载

时间:2017-01-04 01:52:33

标签: javascript jquery google-chrome firefox safari

在打开页面时自动加载音频文件的总分钟数。它在Chrome和Safari中都可以正常工作,但除非我通过按钮触发来调用该功能,否则不会在Safari中运行。

 (function($) {
  var aud = document.getElementById("track");

    var totdur = aud.duration;
    var min = Math.floor(totdur / 60);
    var sec = totdur - min * 60;
    var dur = min + ':' + Math.round(sec);

    $("#id").html(dur);

  })(jQuery);

我尝试使用

加载它
  (function duration(){ //Name of function })()

  $(function() {
      // Code
  });

输出通常是NaN:NaN。 (有时当我第一次打开页面时,重新加载后会改变到正确的持续时间)。

如何从一开始就在所有浏览器中完成这项工作?

更新 解决了它使用addEventListener - 标记之前加载的任何内容或

  window.onload = function () {

       var totdur = aud.duration;
       var min = Math.floor(totdur / 60);
       var sec = totdur - min * 60;
       var dur = min + ':' + Math.round(sec);

       $("#id").html(dur);

  };

0 个答案:

没有答案