Доброго времени суток!
Я столкнулся с тем, что мне нужно разработать website с использованием технологии flash.
Вообще, я не представляю как website, полностью написанный на flash будет воспринят поисковиками. Наверно никак. Поэтому я хочу сделать только "шапку" сайта вместе с навигационными кнопками на flash, а всё остальное на html. Вот как я себе это представляю:
Т.е. имеются две основные части: 1.) HEADER ("шапка") с NAV-панелью; 2.) CONTENT (содержание сайта); Я хочу сделать так, чтобы при нажатии на определённую кнопку из NAV-панели, у меня грузилась определённая страница в IFRAME, который расположен в CONTENT-области. (такой подход позволит сэкономить траффик, если сравнивать с подходом, где при каждом клике по NAV-кнопке "шапка" грузится заново)
Вопрос: как это сделать?
Ведь ... функция из ActionScript, под названием getURL тут никак помочь не сможет:
Здравствуйте, juicy_emad, Вы писали:
_> Т.е. имеются две основные части: 1.) HEADER ("шапка") с NAV-панелью; 2.) CONTENT (содержание сайта); Я хочу сделать так, чтобы при нажатии на определённую кнопку из NAV-панели, у меня грузилась определённая страница в IFRAME, который расположен в CONTENT-области. (такой подход позволит сэкономить траффик, если сравнивать с подходом, где при каждом клике по NAV-кнопке "шапка" грузится заново)
Выкиньте фрейм, а флеш-шапка закешируется.
Здравствуйте, Kirill Nikolaev, Вы писали:
KN>а разве
window:String
не есть target?
Нет. Не есть.
window:String [optional] - Specifies the window or HTML frame into which the document should load. You can enter the name of a specific window or select from the following reserved target names:
_self specifies the current frame in the current window.
_blank specifies a new window.
_parent specifies the parent of the current frame.
_top specifies the top-level frame in the current window.
KN>А вообще, полностью поддерживаю Xander Zerge, фреймы стоит использовать в довольно редких случаях и с умом. Здесь все без фреймов отлично попрет.
Здравствуйте, Xander Zerge, Вы писали:
XZ>Здравствуйте, juicy_emad, Вы писали:
_>> Ну не всякие браузеры умеют кэшировать (IE6, по-моему точно не умеет).
XZ>А на самом деле умеет точно. Если браузер настолько дик, что не умеет кэшировать, то флеш он точно не потянет.
Кэширование это не проблема.
Проблема в сохранении и передачи состояния.
Скажем есть некая шапка которая живет своей жизнью — например анимация на ней.
Как перегрузить фрагмент страницы так чтобы шапка не сбросила состояние?
Вариантов всего ничего. frame/iframe ( если нужна реакция на back button ), либо
устраивать пляски с аяксом и всякими другими update panels.
В данном конкретном случае (когда шапка это меню), я думаю что frames модель
наиболее подходящая.
Здравствуйте, juicy_emad, Вы писали:
_> Я столкнулся с тем, что мне нужно разработать website с использованием технологии flash. _> Вообще, я не представляю как website, полностью написанный на flash будет воспринят поисковиками. Наверно никак. Поэтому я хочу сделать только "шапку" сайта вместе с навигационными кнопками на flash, а всё остальное на html. Вот как я себе это представляю:
Внимание, вопрос: каким образом поисковик должен найти внутренние страницы (ссылки на которые спрятаны в flash?)
Наводящий вопрос: каким образом внутренние страницы должен найти пользователь, у которого не стоит flash-плагин?
И следствие: выбранное решение не решает проблему. Избавьтесь от flash вообще, пользователи скажут вам спасибо.
не есть target?
_>> Нет. Не есть.
CS>Нет, есть.
CS>Window это frame. CS>А какие еще окна в html ты знаешь?
Вот, к примеру, есть страница, в которой есть один фрэйм с именем "frame1" (в который грузится контент) и есть flash-шапка. Как мне в событии onRelease кнопки flash-шапки прописать код, чтобы у меня грузилась страница в "frame1"?
Здравствуйте, Centaur, Вы писали:
C>Внимание, вопрос: каким образом поисковик должен найти внутренние страницы (ссылки на которые спрятаны в flash?)
C>Наводящий вопрос: каким образом внутренние страницы должен найти пользователь, у которого не стоит flash-плагин?
Хорошие вопросы. =)
Думаю, нужно создать html и flash версию сайта (например, как это сделано в top4top.ru)
И вообще — можно сделать так, чтобы flash-плагин ставился автоматически.
C>И следствие: выбранное решение не решает проблему. Избавьтесь от flash вообще, пользователи скажут вам спасибо.
Flash — это красиво. =) Пользователи любят красивые сайты.
Здравствуйте, juicy_emad, Вы писали:
_>Вот, к примеру, есть страница, в которой есть один фрэйм с именем "frame1" (в который грузится контент) и есть flash-шапка. Как мне в событии onRelease кнопки flash-шапки прописать код, чтобы у меня грузилась страница в "frame1"?
_>
Здравствуйте, juicy_emad, Вы писали:
_> А почему вы так фреймы-то не любите?
Ну, допустим, если надо сделать ссылку на определенную страницу, чтобы она при этом появилась в обрамлении меню?
(надо делать серверный редирект, как я понимаю).
Плюс думать, чтобы поисковики отправляли нас именно на страницы с обрамлением, а не на то, что мы грузим в iframe.
Короче это лишняя головная боль, когда можно без них.
Флеш отлично кешируется даже IE, бояться нечего.
Здравствуйте, Kirill Nikolaev, Вы писали:
KN>Ну, допустим, если надо сделать ссылку на определенную страницу, чтобы она при этом появилась в обрамлении меню? KN>(надо делать серверный редирект, как я понимаю). KN>Плюс думать, чтобы поисковики отправляли нас именно на страницы с обрамлением, а не на то, что мы грузим в iframe. KN>Короче это лишняя головная боль, когда можно без них. KN>Флеш отлично кешируется даже IE, бояться нечего.
Хм. Я эту проблему решил с использованием JS & PHP:
Пишем это в страницу, которую грузим в IFRAME (P.S.: brain-lab.org — это рассматриваемый website):
<script type="text/javascript" language="JavaScript">
function changePage()
{
str1 = new String( self.location );
str2 = new String( str1.replace('http://www.brain-lab.org/', '') );
str2 = new String( str2.replace('http://brain-lab.org/', '') );
str2 = new String( str2.replace('www.brain-lab.org/', '') );
str2 = new String( str2.replace('brain-lab.org/', '') );
if (self.parent.frames.length == 0) self.parent.location="http://www.brain-lab.org/index.php?addr=" + str2;
}
</script>
<body onload="changePage();>
...
В общем, смысл такой, что с помощью JS в странице, которую грузим в iframe, определяем — имеется ли у нас родитель. Если не имеется, то на главную страницу нашего сайта (страница, в которой находится iframe) отправляем наш URL в параметре addr. Затем на главной странице ловим этот параметр и пишем его в SRC IFRAME'а.
Вот и всё. Проблема решена.
Однако, такой подход будет работать, если у клиента есть JS.
Здравствуйте, c-smile, Вы писали: CS>Вариантов всего ничего. frame/iframe ( если нужна реакция на back button ), либо CS>устраивать пляски с аяксом и всякими другими update panels.
Здравствуйте, pr0ff, Вы писали:
P>Здравствуйте, c-smile, Вы писали: CS>>Вариантов всего ничего. frame/iframe ( если нужна реакция на back button ), либо CS>>устраивать пляски с аяксом и всякими другими update panels.
P>http://ru.akella.com/ P>Состояние передается в параметре.
Что-то не сильно успешно оно там передается.
Можно еще всяческие viewstate в hidden fields таскать но буквально сие красоты не прибавляет.
На чем-то более менее серьёзном размер view state становится очень большим. Все грузится медленно.
Ну и потом... скажем как преполагается передавать состояние undo стека в скажем <textarea>?
Здравствуйте, juicy_emad, Вы писали:
_> Думаю, нужно создать html и flash версию сайта (например, как это сделано в top4top.ru)
Думаю, вам пока рано делать сайты на flash. _> И вообще — можно сделать так, чтобы flash-плагин ставился автоматически.
Особенно классно выглядит автоматическая установка плагина у пользователей, которые вышли в инет по платному GPRS-каналу. Хинт: загрузки плагина такой пользователь не дождется вообще. C>>И следствие: выбранное решение не решает проблему. Избавьтесь от flash вообще, пользователи скажут вам спасибо. _> Flash — это красиво. =) Пользователи любят красивые сайты.
1. Срочно купите или возьмите почитать любую из книг Якоба Нильсена. рекомендую ISBN 978-5-8459-1199-5. Также полезна 5-93286-004-9.
2. Придумайте структуру сайта и устройство страниц, при которых пользователям будет удобнее всего
3. Только после этого придумывайте, какие эффекты вы хотите получить.
Пользователи не любят "красивости" сами по себе. Наоборот: пользователей необоснованная хня просто бесит.
Красота — это сбалансированная необходимость.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.