1- OPEN FIREBUG, на вкладке консоли
2- ОТКРЫТЬ СЧЕТ GMAIL,
3 - при загрузке Gmail нажмите на один из ярлыков (слева под черновиком)
4- С ПОМОЩЬЮ FIREBUG ВЫ ВИДИТЕ, ЧТО СТРАНИЦА НЕ ПОЛНОСТЬЮ ПЕРЕМЕЩАЕТСЯ, ПОСЛЕ ВСЕХ ПРЕДЫДУЩИХ ДЕЙСТВИЙ, ТОЛЬКО ДЛЯ ТЕКУЩЕГО ДОКУМЕНТА, НО БРАУЗЕР ПОЛНОСТЬЮ ДЕЙСТВУЕТ, КАК СТРАНИЦА БЫЛА ПЕРЕГРУЖЕНА, остановите и т.д. ...)
5- !!!!! это оно .. !!!!
Кто-нибудь знает, как такой сайт, как Gmail, может заставить браузер загружаться при вызове ajax (я имею в виду показать значок загрузки и все, историю и т. Д.)
Я уже знаю, что проверять навигацию по истории, но как в мире они могут заставить браузер работать так, как будто это была простая ссылка, загружающая полностью новую страницу.
Из того, что я вижу с такими вещами, как firebug, Gmail в основном извлекает информацию о почте в JSON, а затем использует некоторый Javascript для ее передачи пользователю. Но как они заставляют браузер загружаться в то время.
В Gmail, как только он загружен, очевидно, что он не загружает все данные из всей вашей папки в фоновом режиме, поэтому, когда вы нажимаете на какую-то папку и данные еще не загружены, они загружают браузер. как если бы он загружал полностью новую страницу, в то время как они извлекали информацию со своего сервера с помощью некоторого вызова ajax (в Firefox вы видите, что браузер работает так, как если вы нажимаете на обычную ссылку, загружается значок, активируется кнопка остановки (x) и все).
Это понятно?
Я придумал некоторый «уродливый» код для достижения своей цели, который довольно хорошо работает в FireFox и IE (к сожалению, он не работает в Chrome / WebKit и Opera).
Я говорю браузеру перейти на URL, по которому он не сможет связаться до завершения вызова ajax, с помощью window.location =. Браузер начинает загружаться, и тогда, когда успешный вызов ajax, я вызываю window.stop () (window.document.execCommand ('Stop') для IE), чем innerHTML ajax-данные в документе
Для меня это выглядит ужасно, и, поскольку он не работает должным образом в Chrome / Webkit, это явно не тот путь.