gpt4 book ai didi

javascript - HTML5 音频 DOM 异常 11 错误,currentTime=0

转载 作者:太空狗 更新时间:2023-10-29 15:50:24 26 4
gpt4 key购买 nike

编辑:我在 Wordpress 方面发布了这个,但一些管理员认为它在这里,因为他们说这是一个客户端问题,但我不认为这是因为他的脚本按原样工作(在非 wordpress 站点中)但只抛出 DOM 异常在 Wordpress 网站上使用脚本且仅在某些浏览器上使用时出现 11 错误。完全相同的脚本可以在 Wordpress 下运行,但只能在 Chrome 上运行。


我采用了一个脚本,当 anchor 链接悬停时播放音频剪辑并将其变成 Wordpress 插件。

它工作正常,但只适用于 Chrome (Mac)。在 Firefox 或 Safari(当前版本)上,脚本抛出 DOM 错误。

这里是错误:

INVALID_STATE_ERR:DOM 异常 11:尝试使用不可用或不再可用的对象。

产生错误的行是:html5audio.currentTime=0

以下脚本在我在非 Wordpress 站点中遇到问题的浏览器上运行良好。 http://www.javascriptkit.com/script/script2/soundlink.shtml#current

我已尝试研究问题并使用一些修复程序,但我无法开始工作。

var html5_audiotypes={ 
"mp3": "audio/mpeg",
"mp4": "audio/mp4",
"ogg": "audio/ogg",
"wav": "audio/wav"
}

function audio(sound){
var html5audio=document.createElement('audio')
if (html5audio.canPlayType){ //check support for HTML5 audio
for (var i=0; i<arguments.length; i++){
var sourceel=document.createElement('source')
sourceel.setAttribute('src', arguments[i])
if (arguments[i].match(/\.(\w+)$/i))
sourceel.setAttribute('type', html5_audiotypes[RegExp.$1])
html5audio.appendChild(sourceel)
}
html5audio.load()
html5audio.playclip=function(){
html5audio.pause()
html5audio.currentTime=0
html5audio.play()
}
return html5audio
}
}

最佳答案

我想对于最初的发帖人来说已经太晚了,但万一其他人来看...

我有一个类似的问题 - 在我的例子中,代码在 Chrome 上工作,但据我所知没有其他问题,但它不是 Wordpress 网站。经过一些实验,我意识到只有当 currentTime 已经是 0 时才会发生错误。所以解决方案很简单:

html5audio.pause(); 
if (html5audio.currentTime != 0) {
html5audio.currentTime=0;
}
html5audio.play();

希望对大家有所帮助。

关于javascript - HTML5 音频 DOM 异常 11 错误,currentTime=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20390550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com