Ключевые слова:web, html, (найти похожие документы)
Date: Wed, 26 Jul 2000 17:52:39 +0400 (MSD)
From: MailList: Темные стороны HTML
Subject: [HTML] Динамические таблицы
Добрый день уважаемые читатели!
25.07.2000
Выпуск 8
В этом выпуске читайте:
*Открыт наш сайт!
*Снова о базе данных
*Динамические таблицы
*Проверка наличия фреймов в документе (окончание)
*Заключение
----------------------------------------------------------------------------------
**Открыт наш сайт**
----------------------------------------------------------------------------------
Наконец-то у нас появился свой "офис", куда мы вас всех и приглашаем на чашечку
кофе. К сожалению сейчас там работает только один раздел, но в течении недели
будут открыты еще несколько разделов, так что будем рады видеть Вас на нашем сайте
http://darkhtml.webservis.ru
----------------------------------------------------------------------------------
**Снова о базе данных**
----------------------------------------------------------------------------------
Пришло очень много отзывов по поводу того, какой хотели бы видеть базу данных
различий наши читатели. Большинство читателей, впрочем как мы и думали,
высказались за базу данных дефолтовых значений.
Как мы себе представляем это будет база данных дефолтовых значений аттрибутов
всех тегов. Будут рассматриваться пока только Нетскейп и Эксплорер (в дальнейшем
возможно Opera). Примерно вот так будет выглядить будущая база:
1. Имя тега
2. Имя атрибута
3. Есть ли данный атрибут в IE (если есть, то его дефолтовое значение)
4. Есть ли данный атрибут в NC (если есть, то его дефолтовое значение)
5. Работают ли аналогично (если нет то примечание)
Конечно же возможны дополнения и изменения. Примерно через неделю мы начнем
заполнять базу.
----------------------------------------------------------------------------------
**Динамические таблицы**
----------------------------------------------------------------------------------
Поговорим немного о таблицах и о средствах доступа к ним в различных браузерах.
Как например по какому-нибудь событию изменить фон таблицы или толщину рамки
или содержимое ячеек?
Давайте рассмотрим такой код:
<html>
<head>
<meta charset=windows-1251>
<style type=text/css>
.menuCell {
left: 0px; margin-top: 3px; top: 0px;
}
</style>
<script language=JavaScript>
cells = new Array('first','second','third');
function clickCell(which)
{
for (leer in cells)<br> ")
{
if (cells[leer] == which)
document.all[cells[leer]+'Cell'].bgColor = '#ffffff';
else
document.all[cells[leer]+'Cell'].bgColor = '#ffcc00';
}
}
</script>
<body bgColor=#c0c0c0>
<table border=2 cellPadding=3 cellSpacing=3 width=300>
<tr>
<td bgColor=#ffcc00 id=firstCell>
<div class=menuCell id=firstdiv>
<A href='javascript://' onclick='clickCell('first');''>First row</A>
</div>
</td>
</tr>
<tr>
<td bgColor=#ffcc00 id=secondCell>
<div class=menuCell id=seconddiv>
<A href='javascript://' onclick='clickCell('first');''>Second row</A>
</div>
</td>
</tr>
<tr>
<td bgColor=#ffcc00 id=thirdCell>
<div class=menuCell id=thirddiv>
<A href='javascript://' onclick='clickCell('first');''>Third row</A>
</div>
</td>
</tr>
</table>
</body>
</html>
При нажатии на ссылку фон текущей ячейки изменяется. Естественно таким же
образом можно изменять другие атрибуты в таблице. Однако есть одно НО, это
пример работает только в Эксплорере.
Если же Вы очень заинтересовались данным примером, то версию кода,
работающего под Эксплорер, Нетскейп и Оперу Вы можете посмотреть на
http://darkhtml.webservis.ru/rus/example/8/table/table.html
Публикация его в рассылке невозможна, потому как он достаточно громоздкий и требует
пояснений.
Статья "Динамические таблицы" подготовлена по материалам сайта http://leechy.design.ru
----------------------------------------------------------------------------------
**Проверка наличия фреймов в документе**
----------------------------------------------------------------------------------
В прошлом номере мы рассказывали о скрипте, который бы проверял наличие фреймов в
документе и открывал в левом фрейме меню, а в правом запрашиваемый документ
(если не совсем понятно о чем идет речь, то читайте прошлый выпуск).
Так вот мы говорили, что при открытии документа возникла проблема. Один из наших
подписчиков нашел выход. Мы благодарим за помощь Segrа Kaparovа nashalife@softhome.net
и с удовольствием публикуем окончательный вариант:
в документе current.html:
<html>
<head>
<script type='text/javascript'>
if (self.top.frames == 0)
self.location = 'menu.html?current.html'
</script>
</head>
<body>
</body>
</html>
в документе index.html:
<html>
<head>
</head>
<script>
document.write("<frameset cols='145,*'><frame name='menu' src='menu.html'>")
var h = location.hash;
var s = location.search;
var lnk = '';
if (s!='')
{
s = s.substring(1, s.length); lnk=s;
if (h!='')
{
h = h.substring(1, h.length); lnk=lnk+'#'+h;
}
}
else
{
lnk = 'main.html';
}
document.write("<frame name='right' src="+lnk+">");
document.write('</frameset>');
</script>
</html>
ПОсмотреть пример: http://darkhtml.webservis.ru/rus/example/8/framecheck/current.html
----------------------------------------------------------------------------------
**Заключение**
----------------------------------------------------------------------------------
Конечно же в отличие от Нетскейпа у Эксплорера гораздо более
широкие возможности, однако на примере наследования каскадных стилей
становится понятно, что поведение Эксплорера во многих ситуациях предсказать просто
невозможно.
И это конечно же является очень существенным недостатком.
Кроме этих двух монстров, мы рассмотрели еще некоторые (Opera, Mozilla, Netscape 6),
но ни один из них не работает так, как нам бы хотелось! Многие из различий в браузерах
появились еще и из-за самой спецификации HTML, она не охватывает все, что должна охватывать.
Подумав над всем этим у нас возникла идея написать свой браузер,
может быть не завтра и даже не через год, но мы считаем если этот браузер будет в полном
соответствии со стандартом поддерживать хотя бы HTML, Javascript и CSS, то найдется
много людей, готовых его использовать и улучшать.
Может быть в будущем он сможет стать неплохим конкурентом современным браузерам.
В заключение хотим сказать, что без вашей помощи наша рассылка не сможет
полноценно существовать. Мы стремимся сделать действительно профессиональную
рассылку, которая помогала бы людям. Поэтому будем очень благодарны
всем, кто пришлет свои глюки и различия при реализации HTML в различных браузерах.
Еще лучше, если вы будете писать о своих проблемах и затруднениях при создании
сайта. Мы обязательно постараемся вам помочь, кроме того мы расскажем о вашей проблеме
другим людям.
--
Архив рассылки и коллекции уже доступны на сайте http://darkhtml.webservis.ru
в разделе "Web-design".
--
С уважением
Автор рассылки, редактор сайта, Веб-мастер сайта,
дизайнер консультант по вопросам веб-дизайна
Авдошин Андрей Дмитрий Видмич
avdoshyn@univer.kharkov.ua wizard@univer.kharkov.ua
andreas49@themail.com