Я использую следующую архитектуру при загрузке страницы в моем приложении:
index.php
<script src="path/to/js/lib/jslib.js" type="text/javascript"></script>
window.addEvent('load', function()
{
BuildPg(PgStatus); //PgStatus is a variable I use in a state machine to build different pages
});
<form>
<div id="DivPgTop"></div>
<div id="DivPgMiddle"></div>
<div id="DivPgBottom"></div>
</form>
Это весь index.php
В моем jslib.js У меня есть такие функции, как:
function BuildPg(Pg) {
BuildPgTop(Pg);
BuildPgMiddle(Pg);
BuildPgBottom(Pg);
}
function BuildPgTop(Pg) {
var Content="";
if (Pg == 1) {
Content = function_a(); // function_a builds the top of the page
else if (Pg == 2) {
Content = function_b();
etc...
}
document.getElementById("DivPgTop").innerHTML = Content; //here is where I load the top of the page
}
И я делаю то же самое для других частей страницы Посередине и снизу.
Используя эту платформу, если вы изменили мою функцию BuildPg ()на что-то вроде:
function BuildPg(Pg) {
BuildPgTop(Pg);
sleep(foo);
BuildPgMiddle(Pg);
sleep(bar);
BuildPgBottom(Pg);
}
Ваш пользователь будет сначала испытывать верх загрузки страницы, задержку, середину страницы, другую задержку и низ.
А если выизмените порядок вызовов функций, у вас может быть сначала загружена нижняя часть страницы, затем средняя и верхняя.
Надеюсь, это имеет смысл.Удачи!