Добавляем...


Основные методы объекта Document
Исторически объект Document поддерживал пять методов для управления данными в документе: clear(), close(), open(), write() и writeln(). Во многих местах книги мы уже использовали метод document.write() для записи строк в документ. А вот остальные методы мы вообще не использовали. Чтобы понять, почему, давайте выясним их возможности.

Сначала выясним разницу между document.write(строка) и document.writeln(строка). Оба метода берут строку и выводят ее значение в активный документ. Главное различие заключается в том, что метод writeln() добавляет в конце вывода признак новой строки (\п), а метод write() этого не делает. Однако в (X)HTML символы возврата каретки и признаки новой строки игнорируются, кроме тех случаев, когда они находятся в рамках дескриптора <рге>, в пределах <textarea> или в свойстве white-space CSS, так что вы можете никогда и не увидеть эту разницу. Следующий фрагмент программного кода использует дескриптор <рге>, чтобы продемонстрировать разницу между указанными методами:

<pre>
<script type="text/javascript">
document.write("Это вывод write, он не заканчивает строку даже в рамках pre");
document.writeln("Эта фраза заканчивает строку,");
document.writeln("как здесь.");
document.write("Всегда можно использовать <br> для добавления
перехода на новую строку в вывод HTML");
</script>
</pre>

С помощью document.write() и writeln() мы привыкли выводить текст в документы (X)HTML. Как вы уже видели, вывод большого числа строк может занимать достаточно много времени, поэтому часто предпочтительнее скомпоновать подходящую строку, чтобы затем ее сразу вывести:

<script type="text/javascript"> var str = "";
str += "Это очень длинная строка.";
str += "Она имеет элементы типа &сору; а также дескрипторы <b>XHTML</b>.";
str += "Можно даже включить <pre> специальные символы типа";
str += "\t \t знаков табуляции или символов конца строки \п \п </pre>";
str += "но помните, что правила XHTML всегда имеют \t\t\n преимущество";
document.write(str) ;
</script>

To, что делают clear(), open() и close(), кажется очевидным. To есть следует ожидать, что clear() очищает содержимое документа, a open() и close(), соответственно, открывают и закрывают документ для записи. Реальность такова, что document.clear() не поддерживается в современных браузерах, и фактически документ закрывается для записи с помощью document.write() после его отображения.

Поэтому явное открытие и закрытие документа не является необходимым. Однако указанным методам можно найти применение при создании содержимого для документа в новом окне, как продемонстрировано в следующем простом примере.

<script tуре="text/javascript"> var mywindow = window.open("","newwin", "height=300,width=300");
mywindow.document.open();
mywindow.document.write("<htmlxhead><title>npoвepеa</titlex/head>") ;
mywindow.document.write("<body><hl>npивет ! </hlx/bodyx/html>") ;
mywindow.document.close();
</script>

Вы могли заметить, что document.open() и close(), кажется, не нужны в этом примере вообще! С утверждением стандартизированной модели DOM возникла надежда на то, что такие причудливые возможности JavaScript уйдут в прошлое, как и все преходящее.


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика