Ich habe versucht, meine benutzerdefinierte Media Player mit HTML5 und Jquery zu erstellen.Audiodauer NaN auf bestimmter Seite Anfrage Aktion
Ich habe verschiedene Ansätze verfolgt und in einigen Schwierigkeiten auf der Grundlage meiner Art der Aktualisierung der Seite geriet.
Erster Fall
$(document).ready(function(){
duration = Math.ceil($('audio')[0].duration);
$('#duration').html(duration);
});
In diesem Fall wird die Dauer Wert NaN zurück, wenn ich die Seite auf die gleiche URL umleiten, indem die ENTER
Schlüssel in der Adressleiste drücken. Es funktioniert jedoch völlig in Ordnung, wenn ich unter Verwendung der reload button
oder durch Drücken der Taste F5
aktualisieren.
Zweiter Fall
las ich in einigen Antworten, die Ladedauer nach dem loadedmetadata
Ereignisse helfen könnte. Also habe ich versucht, die folgenden:
$(document).ready(function(){
$('audio').on('loadedmetadata', function(){
duration = Math.ceil($('audio')[0].duration);
$('#duration').html(duration);
});
});
überraschenderweise in diesem Fall ist die Umkehrung des ersten Fall geschehen ist. Die Dauer wird im Fall einer Umleitung vollständig angezeigt, d. H. Drücken von ENTER
in der Adressleiste. Im Falle der Aktualisierung mit dem F5
Knopf oder dem reload button
wird die Dauer überhaupt nicht angezeigt, nicht einmal NaN, was mich zu der Annahme verleitet hat, dass der Code überhaupt nicht ausgeführt wird.
Weiterführende Literatur vorgeschlagen, dies könnte ein Bug innerhalb der Webkit-Browser sein, aber ich konnte nichts schlüssiges oder hilfreich finden.
Was könnte die Ursache für dieses eigenartige Verhalten sein? Es wäre großartig, wenn Sie es zusammen mit der Lösung für dieses Problem erklären könnten.
Edit: Ich suche hauptsächlich nach einer Erklärung hinter diesem Unterschied im Verhalten. Ich möchte den Mechanismus hinter dem Rendern einer Seite im Falle von Redirect und Refresh verstehen.
Ich werde es versuchen und auf Sie zurückkommen. –
Nein. Es funktioniert immer noch nicht. Das Seltsamste ist, wie es sich im Falle einer Weiterleitung anders verhält als beim Aktualisieren der Seite. Was ist der Unterschied zwischen den beiden in Bezug auf die Seitenladefolge? –
Ja, ich habe es jetzt in drei verschiedenen Fällen versucht. Hard neu laden und neu laden beide das gleiche Verhalten zurück. –