Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генератор шапки страниц на JS c учётом поисковиков, для оптимизации траффика 
:(
    Опции темы
12345c
Дата 28.8.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Это не та часть парсера-генератора, заложенного в другой теме, но смежная задача, выполняемая на JS.

Идея задачи в том, что при выводе страниц возникает вопрос: не слишком ли много мы повторяемся с траффиком, выводя на каждой странице меню навигации, шапку, низ (footer) страницы? Традиционно вывод повторений считают неизбежным злом, не без оснований полагая, что одна страница лучше фреймов. Но есть выход - не повторять вывод заголовков и не использовать фреймы, если генерировать заголовки из файла Javascript. Обычно файлы *.js кешируются браузером. Поэтому, написав генерацию заголовка через JS, сильно уменьшаем размеры повторяющейся части страницы.

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

Такова общая идея представляемого кода. Сам код, кроме оговоренных деталей насчёт видимости важных ссылок при отклюяённом JS, довольно бесхитростен: вывод содержания через document.write() и вынос функций генерации в файл *.js. После такого вступления его не надо даже писать, но кто хочет увидеть его пример работы, смотрите код страницы http://js2.ru/files/article-DOM.shtml. Всё динамическое оформление шапки вынесено в http://js2.ru/images/autom.js (функции capHead(), capHead2(), plavBlok()). Отключите поддержку JS в браузере - увидите вполне сносную страницу с минимально необходимой шапкой навигации и работающими ссылками.

Далее, задача состоит в том, что хотя код такого типа можно писать вручную каждый раз, лучше, если будем иметь автоматику выделения частей, выносимых в *.js . Вероятно, со временем мы сможем написать такой автоматизирующий скрипт как компонет библиотеки ViJio  (или другой). Если говорить об этой библиотеке, то я не знаю, какое наполнение её было задумано инициатором проекта (Sardar), поэтому о включении данной автоматики в библиотеку я говорю условно. Компонент не будет чисто на JS, потому что он должен сгенерировать код двух или 3 файлов (JS, CSS, HTML), взяв за основу одну HTML-страницу как образец. На этой странице разработчик указывает (например, средствами JS в designMode), какие части кода должны уйти в *.js, программа выводит. Можно реализовать на любом полноценном языке программирования, хотя бы на PHP. Поэтому рассматриваем приведённый пример как часть этой более общей задачи.

Это сообщение отредактировал(а) 12345c - 3.3.2008, 14:35


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Sardar
Дата 28.8.2006, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



ИМХО:
  • ловля блох, пара картинок весят больше чем вся вёрстка страницы в целом smile
  • Opera 9 по моему (не знаю) должна поддерживать XSLT трансформации на клиенте, остальные всегда поддерживали, отдавай страницу в XML. Это действительно будет работать эффективно и хорошо.
  • как плюс можно считать дружелюбность к поисковикам, они чистый XML без особого удовольствия хавать будут. С другой стороны все поисковики имеют собственный UserAgent, по нему можно определять и отдавать облегчённую страницу. Минус подхода - в кеше поисковика (например гугла) будет облегчённая страница (как для печати), но это не страшно
  • document.write морально устарел и не может применяться в XHTML.
Цитата(12345c @  27.8.2006,  23:10 Найти цитируемый пост)
то я не знаю, какое наполнение её было задумано инициатором проекта (Sardar), поэтому о включении данной автоматики в библиотеку я говорю условно.

В ViJio может пойти всё, что интересно, на чём можно обучаться. Предложи дизайн, разбей по задачам, я и все кому интересно с хорошими коментами напишем. Извиняюсь за паузу в две недели, был черезвычайно занят.

Резюмирую: такое я бы делал на XML+XSLT -> XHTML на клиенте без всяких скриптов. По нескольким причинам:
  • поддерживаеться почти повсеместно, "почти" исчезнет через пару лет
  • меняем стили - меняеться полностью дизайн. И данные и внешний вид можно изменить когда угодно, запросто можно собрать как XHTML-WML-PDF (XSL-FO во что угодно).
  • всем известно, удобно, на первый взгляд мощней



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 28.8.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Блохи имеют свойство размножаться. Если об их контроле не позаботиться сразу. Если у меня в примере шапка - 5-8 К, а содержание - 30 К, то бывают страницы с шапкой 70 К и содержанием 1 К.

XSLT - метод, прописанный для таких дел, лишь бы он поддерживался. А XSLT кешируется?
Цитата(Sardar @  28.8.2006,  03:03 Найти цитируемый пост)
document.write морально устарел
а DOM многословен. Конечно, это же самое можно реализовать 2 другими способами - innerHTML и DOM. Но пока прекрасно работает document.write, писать лучше на нём, а потом при необходимости перейти на DOM. (NN4 с таким подходом дико глючил, не переносил частичной выдачи элемента через write(), наверное, поэтому за него (подход) не брались.)

PM WWW   Вверх
Sardar
Дата 28.8.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(12345c @  28.8.2006,  12:46 Найти цитируемый пост)
то бывают страницы с шапкой 70 К

Это физически не возможно... что туда можно положить? Не путаем вёрстку (текст) с картинками, вёрстка шапки от силы 50 строк, повырезав кусочки от силы сэкономим пару кб. Все картинки и весь с этим связанный вес остаються.

Цитата(12345c @  28.8.2006,  12:46 Найти цитируемый пост)
А XSLT кешируется?

Стили да, это .xsl файлы, не изменяються, кешируються как и .js


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 28.8.2006, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Я называю шапкой всю почти статическую муть. Пример:
Сайт издательства, страница http://www.piter.com/book_about.phtml?id=9...10&start=10

Вес 68К (смотрю только код), шапка 20К, правая сторона - 24К, которые повторяются. И так повсеместно.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.