Web - полезные советы по веб-строительству JavaScript и CSS: особенности использования в браузерах
Уважаемые читатели! Свежие выпуски других наших рассылок размещаются на нашем новом сервисе "wYw.RU Мир Друзей"
в разделе "Статьи" (http://wyw.ru/articles.php).
Зарегистрируйтесь и Вы сможете:
- Обсуждать рассылки с другими читателями;
- Задавать вопросы авторам рассылок;
- Создавать свои опросы, чтобы узнать мнение других читателей
- ...и многое другое.
Регистрация займет у Вас
1 минуту. Ждем Вас на wYw.RU!
С уважением,
Екатерина
ведущая рассылок
"ИнфоСтарз"
JavaScript и CSS: особенности использования в различных броузерах
Одной из составляющих профессионализма любого web-мастера является его способность создавать код, который одинаково корректно воспринимается всеми броузерами (если быть точнее, то не всеми, а наиболее популярными). Причем это относится не только к HTML, но и к CSS. В первом случае довольно просто найти необходимые решения, т.к. существует достаточно большое количество публикаций и советов о том как надо делать, что не стоит использовать и т.д. для того, чтобы добиться одинакового отображения html-кода в
разных броузерах. Во втором случае дело обстоит сложнее. Ну что же, давайте разбираться.
Итак, основным методом сокрытия css-кода для определенных броузеров является использование их ошибок в интерпретации тех или иных команд. Однако ошибки есть ошибки и ни кто не застрахован, что в следующей версии программы они будут устранены. Как после этого будет выглядеть Ваша страница предугадать сложно. Поэтому давайте рассмотрим другой, достаточно эффективный способ - это JavaScript.
Если Вы посмотрите код странички поисковой системы Яndex, то обнаружите что определение стилей имеет примерно такой вид:
Обратите внимание на конструкцию, определенную в тегах <script> </script>. Очевидно, там устанавливается правило для класса sel. Вопрос почему оно определено именно таким образом и для какого броузера предназначается мы и рассмотрим далее в этой статье.
Откройте любую книгу по JavaScript и Вы обнаружите, что Netcsape Navigator поддерживает таблицы стилей, которые подключаются с помощью синтаксиса JavaScript. NN содержит три типа объектов: tags, содержащий дескрипторы HTML, classes, содержащий определенные классы, и ids, содержащий идентификаторы отдельных элементов. Рассмотрим простой пример:
<html>
<head>
<style type="text/css">
h1 {font-size:14pt; font-style:Arial; text-align: center}
p {color:red; font-size:12pt}
</style>
</head>
<body>
<h1>Это заголовок h1</h1>
<p> А это абзац</body>
</html>
На JavaScript это будет выглядеть следующим образом:
Теперь давайте разберемся с MSIE. Как было сказано выше, свойства tags, classes и ids объекта document используются только в NN. В MSIE значения этих свойств сохраняются в массиве document.all.
В MSIE для сохранения определенных таблиц стилей используется объект document.styleSheets. Приведенный выше пример для MSIE будет выглядеть следующим образом:
Один из методов определения броузера заключается в наличии объекта document.layers, присутствующего в NN, объекта document.all, присутствующего в MSIE или объекта getElementById в Opera. Однако объект document.getElementById присутствует как в Opera, так и в IE, поэтому проверку на Opera и IE лучше делать таким образом:
Кстати, это правило вводится с помощью сокращенной формы условия. Сначала определяется существует ли объект document.all и если это так, то добавляется класс sel, в противном случае никакие действия не выполняются.