加载并确认加载所有资产、脚本html/jquery

加载并确认加载所有资产、脚本html/jquery,jquery,html,loading,Jquery,Html,Loading,我是javascript新手,我对加载和确认加载有疑问 在允许游戏继续之前,对所有资产、脚本等进行备份。 基本上,如何知道何时加载所有资产和脚本 这似乎是一个微不足道的问题,但我已经问了几个 程序员,似乎没有人有一个明确的答案 我有一个html页面加载的资产-即PNG等所有指定的视觉css- 没有任何指定的行 我还有许多自定义javascript类,包括jquery、loading等 我目前正在使用它来确认页面加载- 当页面加载功能运行时,内容变得可见。 页面上有一个小的加载微调器被删除 我正在

我是javascript新手,我对加载和确认加载有疑问 在允许游戏继续之前,对所有资产、脚本等进行备份。 基本上,如何知道何时加载所有资产和脚本

这似乎是一个微不足道的问题,但我已经问了几个 程序员,似乎没有人有一个明确的答案

我有一个html页面加载的资产-即PNG等所有指定的视觉css- 没有任何指定的行

我还有许多自定义javascript类,包括jquery、loading等

我目前正在使用它来确认页面加载- 当页面加载功能运行时,内容变得可见。 页面上有一个小的加载微调器被删除

我正在使用jQuery标准加载脚本--
$(document).ready(function()


//Javascript jQuery的东西。。。。
函数doAfterPageLoad()
{
$(“#加载图标”).css(“可见性”、“隐藏”);
$(“#内容”).css(“可见性”、“可见”);
}
$(文档).ready(函数()
{       
//开始使用javascript
});
我的问题-这是同步吗?(我处于快速连接状态,无法判断)是否有可能出现故障- 当两个“加载”都完成时,我是否应该设置一个变量和计数,并使用它来开始游戏?
而且,如果我选择通过javascript加载程序加载一些png资产文件,是否应该提供触发加载完成所需的第三个变量/值?

您的想法是正确的。将所有DOM就绪相关项放入:

$(document).ready(function()
{       
    // start javascript stuff
});

正如您所说,这是允许html在允许javascript执行之前首先在页面上呈现。

jQuery提供了
load()
函数,因此不是
$(文档)。准备好了吗

$(window).load(function()
{       
    // start javascript stuff
});

当所有的资产都被加载时,它就会启动

我发现最好的解决方案就是使用requirejs

简而言之,它解决了这个问题,允许您在需要时加载脚本,并知道它们已加载。它使应用程序更快,因为您只在需要时加载脚本

基本语法是:

require(
    ["jquery","module"], // these are your dependancies
    function($,module){ // this is what you want to do after your deps have been loaded
        // do stuff
    });
在requirejs中,每个依赖模块都在自己的文件中定义。 您的模块包装在define()函数中,以允许requirejs提取它:

define(
        ["jquery"], // these are your dependancies
        function($){ // this is what you want to do after your deps have been loaded
            var module= {
                // my widget definition
            };
            return module;
        });

出于好奇,使用这种方法比$(document).ready有什么好处?@ramzyo巨大的差异-
$(document).ready
在DOM准备就绪时触发,
$(窗口).load
等待加载的所有资产(图像、多媒体、flash电影等)所以,所有的脚本和JQuery都已经准备好并加载了?还有一件事我不明白——加载的DOM与加载的DOM和所有资产相比——当只加载DOM而不加载所有资产时到底发生了什么?这似乎是ie document.ready(函数)中一直使用的一种常用方法。将DOM视为原始HTML—加载DOM后,无需等待资源即可开始操作它
define(
        ["jquery"], // these are your dependancies
        function($){ // this is what you want to do after your deps have been loaded
            var module= {
                // my widget definition
            };
            return module;
        });