我遇到了一个问题,即某些代码在所有浏览器中都能完美运行,直到我来到 Safari 时它给我带来了问题。我继承了这段代码,而且我不是 jQuery 专家,所以不用说我有点困惑:
var xt_begin=$('#begin')[0];
xt_begin.currentTime = 0;
xt_begin.play();
“#begin”是在使用此代码的 HTML 中设置的音频元素,并且 .play() 函数位于正在使用的 jQuery 插件中(链接到插件)。
在除 Safari 之外的所有浏览器中,播放被定义为好像 xt_begin 是该计时器类的对象。然而,在 safari 中,它仍然未定义并且代码停止工作。我不知道这是如何发生的或如何解决它。如果需要,我可以发布更多代码,任何帮助将不胜感激。
**更新
经过进一步调查,事实证明它是一个 DOM 元素,而且我有点厚。但是,出于某种原因,Safari 似乎在识别音频元素时遇到了问题。它将其标识为“对象 HTMLelement”,而 Firefox 将其显示为“对象 HTMLAudioElement”。我仍然对这个感到困惑。
**解决了
显然 Safari 需要在您的桌面上安装 quicktime 才能使用音频元素。这将使我正在修复的这个应用程序完全没用,但至少我现在知道了。感谢各位的帮助。