Каково различное между ASP.NET AJAX pageLoad () и JavaScript window.onload?

Ничто, которое может сделать автор, не может выбрать для открытия в новой вкладке вместо нового окна.

CSS3 предложил target-new , но спецификация была оставлена ​​.

Обратное неверно; указав размеры для окна в третьем аргументе window.open, вы можете запустить новое окно, когда предпочтение будет указано для вкладок.

17
задан 8 revs, 4 users 38% 2 March 2009 в 16:58
поделиться

1 ответ

Пара вещей отметить сначала. MS изобрел своего рода "клиентский объект периода выполнения", названный Sys.Application . Это обрабатывает повышение init, load, и unload события повсюду [сторона клиента] продолжительность жизни страницы, следующим образом:

  1. Sys.Application.initialize() начинается init часть жизненного цикла. Этот initialize() с все клиентские средства управления Ajax, после которых они готовы взаимодействоваться с программно
  2. Sys.Application, начинаются load часть жизненного цикла, называя все обработчики, которые подписались на это событие
  3. Наконец, это вызывает глобальную функцию pageLoad (если Вы определяетесь)

Шаг 2), и 3) повторяются для каждого частичного (т.е. Ajax + UpdatePanel) обратная передача.

Поэтому наконец ответ : pageLoad просто удобный ярлык на [1 127] Sys.Application.add_load() .

Относительно ее отношений к [1 112] однако, вещи начинают становиться интересными. По существу MS было нужно window.onload для увольнения только [1 132] после init, фаза была завершена. Но Вы не можете управлять, когда браузер будет стрелять onload, поскольку он связывается с [1 133] "содержание, загруженное" . Это известно как [1 128] "window.onload проблема" :

onload огни события после того, как все содержание страницы загрузилось (включая изображения и другое двоичное содержание). Если Ваша страница включает много изображений тогда, можно видеть значимую задержку, прежде чем страница станет активной.

Так, они просто изобрели свою собственную "специальную" функцию для увольнения в только правильное время в их жизненный цикл события и назвали его "pageLoad". И прием, что они привыкли для начала этот пользовательский жизненный цикл события, был к [1 129], помещают вызов в [1 118] непосредственно перед закрытием </form> тег . Время выполнения серверной стороны делает это. Проницательные читатели отметят, что этот прием позволил MS решать window.onload проблема, начиная с любого кода Вы помещаете в [1 121], будет стрелять независимый от двоичного содержания ( w/одна редкая выгода для IE).

> они действуют то же?

Концептуально да, на практике нисколько из-за упомянутого window.onload проблема. Единственное правило состоит в том, что необходимо поместить код, который взаимодействует со средствами управления Ajax в [1 123] только, так как window.onload следует за его собственной траекторией события.

> Или каждого называют перед другим?

Они полностью, 100%-й независимый политик.

> Или каждого назовут автоматически и другой нет?

Их оба назовут, если Вам определят их.

41
ответ дан 30 November 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: