Вчера, когда я писал специальный эффект для веб-страницы, у меня всегда возникала ошибка. Я не знал причину до сегодняшнего дня на примере.
Я всегда думал, что использование document.onLoad в JavaScript для указания функции — это то же самое, что добавление onLoad к тегу Body. Однако на сегодняшнем примере я обнаружил, что document.onLoad не запускается при загрузке страницы.
Пример кода выглядит следующим образом: (Тестовая среда Win2003 + IE7)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<голова>
4<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
5<title>Документ без названия</title>
6<script Language="JavaScript">
7функция mytest(){
8 оповещение(document.getElementById("my2"));
9}
10document.onLoad = mytest();
11</скрипт>
12</head>
13
14<тело>
15<p id="my2">Тестовый контент</p>
16</body>
17</html>
При открытии файла htm в примере появляется диалоговое окно с подсказкой, когда страница отображается не полностью, то есть экран белый. Это означает, что mytest вызывается, когда страница не завершена.
Закомментируйте предложение document.onLoad, а затем измените тег body на
<body onLoad="mytest()">
Повторно откройте страницу. Mytest вызывается только после загрузки страницы. Я не знаю почему, хаха.