страница 152
В листинге 8.2 используется кнопка, которая вызывает новое содержание HTML для документа, включая дескрипторы HTML для заголовка нового документа и атрибуты цвета дескриптора <body>. В листинге присутствует оператор, который ранее не описывался. Это оператор +=. Данный оператор добавляет к строке, содержащейся слева от него, строку, расположенную справа от оператора. Этот оператор позволяет быстро объединить длинные строки из нескольких отдельных операторов. Используя содержимое переменной newContent и всего один вызов метода document.write(), можно наполнить весь документ полностью новым содержимым, не оставив даже следа от содержимого листинга 8.2. Оператор document.close(), тем не менее, в обязательном порядке используется для нормального закрытия выходящего потока. Теперь загрузите документ, щелкните на кнопке и обратите внимание на то, как изменится название документа в строке названия браузера. Если после этого щелкнуть на оригинале и затем снова воспользоваться кнопкой, то динамически заполняемая вторая страница будет загружаться намного быстрее, даже по сравнению с перезагрузкой исходного документа.
<html>
<head>
<title>Writing to Same Doc</title>
<script type="text/javascript">
function rewrite() {
//Вызов содержимого для нового окна
var newContent = "<html><head><title>A New Doc</title></head>";
newContent += "<body bgcolor='aqua'><h1>This document is
brand new.</h1>";
newContent += " Click the Back button to see original document.";
newContent += "</body></html>";
//Записывается HTML в новое окно документа
document.write(newContent);
document.close(); //Закрытие потока
}
</script>
</head>
<body>
<form>
<input type="button" value="Replace Content"
onclick="rewrite()">
</form>
</body>
</html>
Листинг 8.2. Использование метода document.write()


