Рамка-2: наводим красоту, прячем ссылки и тексты от роботов

Ayavryk
На сайте с 11.10.2003
Offline
209
718

По мотивам: /ru/forum/144761

Если дизайнер удумал все таблицы на сайте оформить таким образом получается довольно геморройный и засоренный код. Если использовать js для оформления однотипных элементов - код получается более внятный. Цена вопроса - 5 строк + jquery.

В качестве бонуса - упрятывание ссылок и любых текстов от роботов - http://bookmark.x9.ru/zebra/ это то, что не вполне удалось сделать здесь: http://x9.ru/article.htm

Последнее естественно не более чем демонстрация возможностей

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
Kolyaj
На сайте с 28.03.2006
Offline
69
#1

Я, вообще говоря, не сторонник включения в обычные страницы различных фрэймворков, из которых jquery и prototype самые безобидные в плане размера и скорости выполнения. Тем более для таких простейших задач, требующих одного цикла.

<!-- таблица без внешней рамки -->

<html>
<head>
<style type="text/css">
table.without_border td {
border-left: 1px solid #000;
border-top: 1px solid #000;
}
table.without_border tr.first td {
border-top: none;
}
table.without_border td.first {
border-left: none;
}
</style>
</head>
<body>
<table class="without_border" cellSpacing="0">
<tr><td>abc</td><td>abc</td><td>abc</td></tr>
<tr><td>abc</td><td>abc</td><td>abc</td></tr>
<tr><td>abc</td><td>abc</td><td>abc</td></tr>
<tr><td>abc</td><td>abc</td><td>abc</td></tr>
</table>

<script type="text/javascript">
var tables = document.getElementsByTagName('TABLE');
for (var i = 0; i < tables.length; i++)
if (tables.className == 'without_border' && tables.rows.length > 0) {
tables.rows[0].className = 'first';
for (var j = 0; j < tables.rows.length; j++)
if (tables.rows[j].cells.length > 0)
tables.rows[j].cells[0].className = 'first';
}
</script>

</body>
</html>

Конечно в этом скрипте 8 строк, а не 2 и он не такой красивый, зато за ним не прячется jquery весом 145 кб, и выполняется он намного быстрее.

Ну еще он не универсальный, т.к. написан только что, в противовес.

З.Ы. Против самих фрэймворков ничего не имею, сам пользовался прототайпом до тех пор, пока не стал смущать его размер, в то время как большая часть функциональности не используется. Пришлось писать свой, частично компилированный из прототайпа, но легкий и загружающий себя по мере необходимости.

Ayavryk
На сайте с 11.10.2003
Offline
209
#2

Тут два вопроса в одном.

Первый про фреймворки. Тут все зависит от объема и сложности скриптов + времени на разработку.

Второй про вынесение навороченных оформительских элементов в JS. Вопрос спорный. С одной стороны верстальщику проще разбираться в коде + уменьшение трафика. С другой - дополнительная нагрузка на пользовательскую машину.

Kolyaj
На сайте с 28.03.2006
Offline
69
#3

С первым вопросом все ясно. Со вторым непонятно, какая сторона к чему относится, поясните поподробней, пожалуйста.

Ayavryk
На сайте с 11.10.2003
Offline
209
#4

По второму вопросу то же самое что и с первым - использованием фреймворков. Вынос оформления в JS существенно упрощает разработку и модификацию навороченного сайта. Но расплачиваться за это приходится пользователю, поскольку лишние JS и фреймворки отъедают ресурсы.

progress
На сайте с 11.07.2006
Offline
125
#5

Сомневаюсь, что все останутся довольны подгрузкой лишних 145 кб, особенно если они сидят на диалапе. А комменты не порезать-ли в скрипте? Зафига они пользователю-то???

Ayavryk
На сайте с 11.10.2003
Offline
209
#6

jquery в сжатом виде 18К. Есть фреймворки меньше. Можно в принципе и без них обойтись, как написал Kolyaj.

Про диалап отдельный разговор. Если заказчик заказал, а дизайнер выполнил заказ и сделал страничку весом 100К, то диалапщики им не нужны. К тому же такой подход позволяет достаточно просто реализовать "легкую версию" без графических излишеств.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий