2017-02-24 53 views
0

此代码:jQuery的回调.load不工作的移动设备

$("#sound").load("randomradio.php", function() { 
    var r = document.getElementById("radio"); 
    r.play(); 
}); 

randomradio.php动态创建一个<audio id="radio"> ...

并能正常工作在我的电脑网页浏览器。只是不在移动设备上,我不明白为什么。

+0

你确定回调函数根本不工作或者'r.play()'不工作。尝试将'alert(1)'放在回调中,并检查是否得到警报。我想你的回调会被调用,但可能是音频问题。或者可能会被视为零。 – vijayP

+0

警报工作。更进一步。 r.play似乎不起作用。至少不在回调中,因为我在其他地方使用了.play功能,并且它在手机上工作 –

+0

尝试提醒alert($(“#radio”)。)。看看你得到了什么。 – vijayP

回答

0

jQuery应该在移动设备上正常工作。

jQuery手机是完全不同的东西,你不需要它。当您在移动设备上查看时,代码可能会破坏?你有没有试过看你的JavaScript错误?您可以看到错误

您可以在JavaScript控制台中找到这些错误。对于Chrome,您可以通过几种方式打开它:

  • 使用键盘快捷键Command - Option - J(Mac)或Control -Shift -J(Windows/Linux)。
  • 选择视图>开发人员> JavaScript控制台。
+0

没有Java错误:/ –

+0

这似乎工作。 'test_audio_played = false; (''play',function(){ test_audio_played = true; })[0] .play(); ()函数(){ alert(test_audio_played); },1);' –

+0

那里有奇怪的事情。在pc上工作,test_audio_played的输出是真实的,在手机上,它不会播放并返回false。 –