IE-Fehler Ungültige Quell-HTML5-Audio - Problemumgehung
Ich (und ungefähr eine Million andere) habe einen Fehler in IE11 gefunden (nicht sicher, ob andere Versionen den gleichen Fehler aufweisen). Wenn Sie ein HTML5-Audio-Tag erstellen, meldet der Browser "Ungültige Quelle", egal was passiert. Ich habe jede Kombination ausprobiert, die mir ohne Glück einfällt. Bisher: Ändern der HTML-End-Tags von selbstschließend zu explizit Ändern des Dateinamens, um ungewöhnliche Zeichen zu entfernen Ändern des Audio-Unterformats zu jeder möglichen Einstellung Hinzufügen eines expliziten URI ("http: // ...") Deaktivieren aller Plugins (gab es in den Stock-Plugins) Jedes mögliche Audioformat ausprobieren MIME-Typ festlegen Parameter des Audio-Tags ändern. Die IIS-Einstellungen wurden geändert, um die MIME-Typen einzuschließen.
Überprüfung der "Connect" -Website von Microsoft - (sie behaupten, dass sie nicht reproduzierbar ist, aber Hunderttausende von Google-Ergebnissen schlagen etwas anderes vor).
Ist das überhaupt nicht möglich? ALLE anderen neuesten und besten Browser, die ich ausprobiert habe (FireFox, Opera, Safari, Chrome) Ich bin am Ende meines Wissens - es funktionieren keine Lösungen.
Hier ist der Code:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AudioPopupPlayer.aspx.vb" Inherits="AudioPopupPlayer" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<div style="padding-top: 30px; margin: auto; width: 300px;">
<asp:Literal ID="litVoiceOver" runat="server"></asp:Literal></div>
</body>
</html>
Code dahinter:
Partial Class AudioPopupPlayer
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim VoiceOverFileName As String = Request.QueryString("vo")
If VoiceOverFileName.Length > 0 Then
Dim root As String = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + ResolveUrl("~/")
Dim audiosource As String = "<audio id=""VoiceOver"" autoplay=""autoplay"" preload=""preload"" controls=""controls""><source src=""" & root & "audio/" & VoiceOverFileName & ".ogg"" type=""audio/ogg"" ></source><source src=""" & root & "audio/" & VoiceOverFileName & ".mp3"" type=""audio/mpeg"" ></source><source src=""" & root & "audio/" & VoiceOverFileName & ".wav"" type=""audio/wav"" ></source></audio>"
Me.litVoiceOver.Text = audiosource
End If
End Sub
End Class
Und zum Schluss ein Screenshot (in IE11), der zeigt, dass der HTML-Code perfekt gerendert ist, und dennoch die gefürchtete Meldung "Invalid Source" (HINWEIS: Beim Kopieren und Einfügen des Links wird die Audiodatei abgespielt - go figure).