Отображение информации в обозревателе
Обновлен: Ноябрь 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();
Примечание. |
---|
Следующая простая функция позволяет не вводить 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();
См. также
Основные понятия
Определение возможностей обозревателя