2017-06-20 20 views
2

我有标签之前调用jQuery的2.1.4.min.js,但是当我写的东西,如:的“的document.ready()”函数不触发在Chrome移动设备(机器人)

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 
<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     alert('hi, world.'); 
    }); 
</script> 

在我的电脑上,它当然会被解雇,但在十个不同的Android设备上它却没有。这纯粹是HTML/CSS/jQuery呈现的网站(没有phonegap,或任何东西)。

我的目标是让一个按钮在被点击后做一个ajax请求,但我甚至不能测试它,因为.ready()函数在手机浏览器上根本没有触发。

jQuery从官方CDN服务,任何帮助将非常感激。

都尝试:

$(function() { 
    alert('hi, world.'); 
}); 

而且

jQuery(document).ready(function() { 
    alert('hi, world.'); 
}); 

同样的事情。

至于建议我也试过:

window.onload = function() 
{ 
    if (window.jQuery) 
    { 
     alert('jQuery is loaded'); 
    } 
    else 
    { 
     alert('jQuery is not loaded'); 
    } 
} 

而且它会提醒 'jQuery是加载'。

根据jQuery文档,它说:“只包含在$(document).ready()中的代码只会在页面文档对象模型(DOM)准备好执行JavaScript代码时运行” - 这意味着DOM是没有准备好执行JavaScript代码?但是当我尝试像:

<script type="text/javascript"> 
    alert('hi world'); 
</script> 

它在移动Chrome上执行。

+0

如何试用'$'而不是'JQuery',你试过了吗? –

+0

是的,我做到了。试过“$”和“jQuery”,结果相同。 – Dino

+0

你可以分享你是如何包含/添加JQuery的? –

回答

3

好的,经过广泛调查后,如果您有两次document.ready()函数的话,JS似乎会在手机浏览器上出现问题,我在core.js文件中有一个,在页面上有一个在线。

它可以在个人电脑(所有浏览器)上正常工作,但是在移动设备上,它可以工作到第二个ready()调用点并在此之后中断所有JS。

希望这会在未来为他人节省一些时间。