Поделиться через


Отображение информации в обозревателе

Обновлен: Ноябрь 2007

Хотя обозреватели поддерживают большинство функций JScript, новые функции, связанные с платформой .NET Framework, основанными на классах объектами, типами данных, перечислениями, директивами условной компиляции и оператором const, поддерживаются только на сервере. Поэтому эти функции следует использовать исключительно в серверных сценариях. Дополнительные сведения см. в разделе Сведения о версиях JScript.

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

JScript отображает информацию в обозревателе с помощью методов write и writeln объекта document обозревателя. Можно также отображать информацию в формах внутри обозревателя и в окнах оповещений, запросов и подтверждения. Дополнительные сведения см. в разделе Использование окон сообщений.

Использование document.write и document.writeln

Наиболее распространенным способом отображения информации является использование метода write объекта document. Он принимает один аргумент — строку, которую он отображает в обозревателе. Данная строка может иметь формат обычного текста или формат HTML.

Поскольку строки могут заключаться в одинарные или двойные кавычки, можно задавать строки, содержащие кавычки или апострофы.

document.write("Pi is approximately equal to " + Math.PI);
document.write();
fs135695.alert_note(ru-ru,VS.90).gifПримечание.

Следующая простая функция позволяет не вводить document.write каждый раз для отображения текста в окне обозревателя. Данная функция не сообщает пользователю о том, что какой либо из отображаемых элементов не задан, но она позволяет выполнить команду w();, отображающую пустую строку.

function w(m) { // Write function.
   m = String(m); //  Make sure that the m variable is a string.
   if ("undefined" != m) { // Test for empty write or other undefined item.
      document.write(m);
   }
   document.write("<br>");
}

w('<IMG SRC="horse.gif">');
w();
w("This is an engraving of a horse.");
w();

Метод writeln, который почти полностью аналогичен методу write, добавляет к заданной строке знак новой строки. В формате HTML это обычно приводит только к добавлению пробела после элемента; внутри тегов <PRE> и <XMP> знак новой строки интерпретируется буквально и отображается в обозревателе.

Метод write открывает и очищает документ, если только в момент вызова метода write над данным документом не выполняется операция открытия и анализа. Такая ситуация может привести к непредвиденным результатам. В следующем примере показан сценарий, предназначенный для отображения с частотой один раз в минуту, который может выполнить данную операцию только один раз, так как во время нее он удаляет себя.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JScript">
function singOut()  {
   var theMoment = new Date();
   var theHour = theMoment.getHours();
   var theMinute = theMoment.getMinutes();
   var theDisplacement = (theMoment.getTimezoneOffset() / 60);
   theHour -= theDisplacement;
   if (theHour > 23)  {
      theHour -= 24
   }
   // The following line clears the script the second time it is run.
   document.write(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time.");
   window.setTimeout("singOut();", 60000);
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
singOut();
</SCRIPT>
</BODY>
</HTML>

Если вместо document.write использовать метод alert окна объекта, данный сценарий работает правильно.

   // This line produced the intended result.
window.alert(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time.");

В обозревателе Internet Explorer версии 5 или более поздней рекомендуется использовать element.innerText или element.innerHTML.

Очистка текущего документа

Метод clear объекта document удаляет содержимое текущего документа. Обратите внимание на то, что данный метод очищает ваш сценарий (вместе с остальной частью документа), поэтому при его использовании следует соблюдать особую осторожность.

document.clear();

См. также

Основные понятия

Использование окон сообщений

Определение возможностей обозревателя

Другие ресурсы

Отображение информации с помощью JScript