Как заставить DHTML работать и в IE, и в Navigator
Уильям Роберт Стэнек (William Robert Stanek), PC Magazine
Другие тонкости кросс-браузерного программирования
При рассмотрении предыдущего примера может возникнуть вопрос, зачем было
включать параметры стиля в теги <div>? Дело в том, что IE не способен
читать некоторые параметры (clip, left, top и др.) из JavaScript. Чтобы
избежать необходимости использовать линейные стили и создавать длинную
веб-страницу, можно установить значения left и top прямо в JavaScript при
помощи параметров pixelLeft и pixelTop соответственно. Более красивый способ
заключается в том, чтобы заставить IE манипулировать не самим объектом,
а объектом правил таблицы стилей. Однако для этого требуется достаточный
опыт по созданию сценариев.
Internet Explorer — не единственный браузер, испытывающий проблемы с
DHTML. Известная ошибка Navigator 4.0 приводит к тому, что при изменении
размеров окна элементы теряют свои динамические свойства. Чтобы избежать
этой проблемы, нужно перезагружать страницу всякий раз, когда изменяется
размер окна Navigator. Делается это так:
if (document.layers) { window.onResize = reloadNow; }
function reloadNow() {
document.location = document.location;
}
Еще один прием, которым полезно овладеть, — динамическая замена контента.
В Internet Explorer для этого изменяют содержимое контейнера посредством
функции innerHTML. В Navigator контент меняют, открывая поток документа
функцией document.open(), записывая новый контент функцией document.write()
или document.writeln(), а затем закрывая поток функцией document.close().
Эти средства IE и Navigator позволяют менять текст контейнера, перемещая
ID:
if(document.layers) {
document.moving.document.open();
document.moving.document.write(" <h1>Hello!</h1>");
document.moving.document.close();
} else if (document.all) {
moving.innerHTML= "<h1>Hello!</h1>";}
И еще об изменении размеров окна браузера. С главным окном можно работать
и другим способом, используя объект screen. Чтобы изменять размер главного
окна в соответствии с характеристиками монитора пользователя, можно применить
параметры screen.height и screen.width. Первый определяет высоту экрана,
второй — его ширину. Для определения глубины цвета экрана служит параметр
screen.colorDepth. Все они поддерживаются как в Internet Explorer, так
и в Navigator.
Назад
| Вперед
Copyright © 1997, 1998, 1999. >ZDNet
и Algorithm Media. Все права защищены.
Воспроизведение материалов или их частей в любом виде и форме без письменного
согласия запрещено. ZDNet и логотип ZDNet являются торговыми марками Ziff-Davis
Inc.