“document.ready()”函数未在 Chrome Mobile (android) 上触发

Din*_*ino 4 javascript jquery android 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>
Run Code Online (Sandbox Code Playgroud)

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

我的目标是让一个按钮在被点击后执行 ajax 请求,但我什至无法测试,因为 .ready() 函数在移动 chrome 上根本没有触发。

jQuery 由官方 CDN 提供,任何帮助将不胜感激。

两个都试过:

$(function() {
   alert('hi, world.');
});
Run Code Online (Sandbox Code Playgroud)

jQuery(document).ready(function() {
    alert('hi, world.');
});
Run Code Online (Sandbox Code Playgroud)

一样。

按照建议,我也尝试过:

window.onload = function()
{
    if (window.jQuery)
    {
        alert('jQuery is loaded');
    }
    else
    {
        alert('jQuery is not loaded');
    }
}
Run Code Online (Sandbox Code Playgroud)

它会提醒“jQuery 已加载”。

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

<script type="text/javascript">
    alert('hi world');
</script>
Run Code Online (Sandbox Code Playgroud)

它在移动 Chrome 上执行。

Din*_*ino 8

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

它在 PC(所有浏览器)上工作正常,但在移动设备上它工作到第二个 ready() 调用点并在此之后破坏所有 JS。

希望这可以为将来的其他人节省一些时间。

  • 你是如何解决这个问题的? (3认同)