如何等待完整的页面加载(包括图像等)

时间:2016-09-05 10:14:02

标签: dojo

我想要显示一个"请等待页面加载..."我的页面正在加载时显示消息。该页面包含许多需要一些时间加载的小图像。因此,我也不想在加载这些邮件之前隐藏邮件。

我尝试使用dojo/domReady!dojo/ready,但是在加载图片之前它们会触发,因此当我在此时隐藏消息时页面看起来仍然不完整。

以下代码有效,但似乎不是道场方式:

window.onload = hideLoadingMessage();

使用window.onload注册on根本不起作用:

require([ 'dojo/_base/window', 'dojo/on' ], function(win, on) {
  on(win, 'onload', hideLoadingMessage);
});

我应该如何等待页面完全加载,包括所有图像?

1 个答案:

答案 0 :(得分:0)

如果您想连接到load窗口事件,则不应使用dojo/_base/window

而是只使用普通的window对象。同时使用load作为事件名称(而不是onload)。 直接使用window对象可以避免加载您不需要的模块。

请参阅以下两个解决方案的代码段(window对象和dojo/_base/_window模块):



require(['dojo/_base/window', 'dojo/on'], function(baseWin, on) {
  on(window, 'load', function() {
    alert('loaded - using global window object!');
  });
  
  on(baseWin.global, 'load', function() {
    alert('loaded - using dojo window module!');
  });
});

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
&#13;
&#13;
&#13;