“document.ready()”功能未在Chrome Mobile(Android)

时间:2017-06-20 17:45:19

标签: javascript android jquery google-chrome

我在标签之前调用了jQuery-2.1.4.min.js,但是当我写下这样的内容时:

<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渲染网站(没有手机间隙或任何东西)。

我的目标是在点击按钮之后让按钮执行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文档,它说:“$(文档).ready()中包含的代码只有在页面文档对象模型(DOM)准备好执行JavaScript代码时才会运行” - 这意味着DOM不是准备好执行JavaScript代码了吗?但是,当我尝试:

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

它在移动Chrome上执行。

2 个答案:

答案 0 :(得分:4)

好的,经过广泛的调查后,如果你有两次document.ready()函数,JS似乎打破了移动chrome,我在我的core.js文件中有一个,在页面上有一个内联。

它在PC(所有浏览器)上运行正常,但在移动设备上,它可以在第二次ready()调用时运行,并在此之后中断所有JS。

希望将来可以节省一些时间。

答案 1 :(得分:0)

JS在移动视图中断,因为同样的js在文件中使用多次。检查并删除冗余。