asp.net – IE bug无效源HTML5音频 – 解决方法

前端之家收集整理的这篇文章主要介绍了asp.net – IE bug无效源HTML5音频 – 解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我(以及大约一百万人)在IE11中发现了一个错误(不确定其他版本是否有相同的错误),如果你创建一个 HTML5音频标签,浏览器会报告“无效来源”,无论如何.我已经尝试过每一个我能想到的组合而没有运气.
至今:
将HTML结束标记从自闭合更改为显式
更改文件名以消除任何奇怪的字符
将音频子格式更改为每个可能的设置
添加显式URI(“http:// …”)
禁用所有插件(库存插件上有)
尝试所有可能的音频格式
定义MIME类型
更改音频标签的参数.
更改了IIS设置以包含MIME类型.

检查微软的“连接”网站 – (他们声称它不可复制,但数十万的谷歌搜索结果表明不然).

这根本不可能吗?所有其他最新&我尝试过的最好的浏览器(FireFox,Opera,Safari,Chrome)
我现在已经结束了 – 没有解决方案可行.

这是代码

<%@ 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>

代码背后:

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

最后,一个屏幕截图(在IE11中)显示HTML完美呈现,但我仍然得到可怕的“无效源”消息(注意:复制和粘贴链接会导致音频文件播放 – 去图).

解决方法

尝试使用简单的HTML5代码时遇到了同样的问题.网址和文件名也是正确的.这对我有用:

< audio src =“song.mp3”控制自动播放>< / audio>

如果你不需要它们,你可以删除控件,它仍然可以工作.我希望这有帮助!

猜你在找的asp.Net相关文章