Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Методика изготовления сайта. Требуется совет опытных флешеров. (http://www.flasher.ru/forum/showthread.php?t=137372)

a1. 11.03.2010 17:52

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

public function methodName()
{
        btn.addEventListener(MouseEvent.CLICK, goToGoogle);
        function goToGoogle(e:MouseEvent)
        {
                navigateToURL(new URLRequest('http://www.google.com'), '_blank');
        }
}

Можно ли так делать? Точнее, правильно ли?
Это пример, про замыкания знаю:)

Или самый важный вопрос.
Например, сайт с несколькими страницами и фото галереей.
Делаю так.
Класс Main - главная страница, шаблон.
На каждую страницу свой класс. Экземпляр страницы помещается сверху с координатами, допустим (50, 150). Т.е. страница имеет эту точку в качестве нулевой. Что же делать, когда надо, допустим, затемнить всю страницу для вывода модального окна? Событие диспатчить на главную, чтобы она все зарывала? Тогда не закроются элементы самой подстраницы. В ином случае возникает проблема с координатами.

Или страница галереи. Хочу, чтобы фотки вылетали сверху экрана. Как вычислять координаты? Каждая фотка - экземпляр класса Photo с параметрами уменьшенной картинки, полного изображения, описания и т.д. Как выводить увеличенное изображение с навигацией (предыдущая/следующая)? Это должен делать экземпляр класса Gallery? Или выводить увеличенное изображение экземпляром Photo? Тогда опять проблема с затемнением фона и определением предыдущего/следующего изображения.

Я понимаю, что координаты относительно stage можно вычислить (кстати, подскажите как правильнее это сделать заодно :rolleyes:), но может я делаю просто не так как надо и есть более верное и красивое решение?

Сайты делаю, неплохо получается, но всегда такое ощущение, что сделал что-то неправильно.
Бывалые, подскажите, как правильно это всё делать?

etc 11.03.2010 18:34

Цитата:

Сообщение от a1. (Сообщение 892462)
Можно ли так делать? Точнее, правильно ли?

Делать можно, но неправильно. Объявляйте методы-обработчики.

oleg_tomenko 11.03.2010 19:11

Все зависит от макетов. У вас настолько неконкретный вопрос, что ответ на него даже затрудняюсь дать. Я стараюсь общие элементы сайта, блоки выносить в классы.
Например, Menu, MenuItem, Page, Gallery. В Mайне всем этим управлять. Как-то так.

Вообще, хорошо бы всегда смотреть — не всегда оправдано делать сайт на флэше. Из-за двух-трех эффектов не стоит даже браться: вполне подойдет джаваскрипт и хтмл. Флэш-то просто инструмент, задача —*сделать хороший сайт.

TERRORist 11.03.2010 20:54

Цитата:

Сообщение от a1. (Сообщение 892462)
Вот все никак не могу начать правильно делать сайты, все не покидает чувство, что делаю что-то не правильно.
Например, можно ли в методе определять функцию?
Код AS3:

public function methodName()
{
        btn.addEventListener(MouseEvent.CLICK, goToGoogle);
        function goToGoogle(e:MouseEvent)
        {
                navigateToURL(new URLRequest('http://www.google.com'), '_blank');
        }
}


А как потом отписаться от такого листенера? если понадобится

AlexDesinger 11.03.2010 21:04

слишком много вопросов - начните с чего то конкретного, у меня, допустим есть опыт сайта полностью на flash, делал для себя - т.е. старался гы гы, у самого был подобный вопрос, когда начал делать, но к сожалению, тогда толком тоже не смог никто помочь, потому что я так же спрашивал, как и вы - особо сам не понимая о чем, так что, сейчас, пожалуй, пока воспоминания свежи, возможно и смогу помочь.

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

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

К стати, если кто из более продвинутых кодеров меня поправит, то я только за, потому что написал так, как сам понимаю это.

Art_133 11.03.2010 21:33

Цитата:

Сообщение от etc (Сообщение 892472)
Делать можно, но неправильно. Объявляйте методы-обработчики.

скажите почему так делать не правильно? Вы считаете что такие простые функции как переход по ссылке стоит выносить в отдельную функцию? Если можно накидайте простой пример как нужно делать в данном случае. Просто я часто так делаю и не вижу никаких сложностей с эти методом...

iNils 11.03.2010 21:40

Цитата:

Вы считаете что такие простые функции как переход по ссылке стоит выносить в отдельную функцию?
1. Что будет, если вы дважды вызовите methodName?
2. Что будет, если у вас будет 2 или более экземпляров класса с вызванный методом methodName?

Psycho Tiger 11.03.2010 22:06

Код AS3:

public function methodName()
{
        btn.addEventListener(MouseEvent.CLICK, goToGoogle);
}
private function goToGoogle(e:MouseEvent)
{
        navigateToURL(new URLRequest('http://www.google.com'), '_blank');
}

Создавая такую анонимную функцию как в вашем случае вы никогда от неё не отпишитесь и она навсегда останется в памяти.

Art_133 11.03.2010 22:49

Цитата:

Сообщение от iNils (Сообщение 892508)
1. Что будет, если вы дважды вызовите methodName?
2. Что будет, если у вас будет 2 или более экземпляров класса с вызванный методом methodName?

Пардон. По всей видимости я не правильно понял. Я думал что имелось ввиду метод navigateToUrl правильне было бы вынести в о дельную функцию и уже в обработчике события вписывать ее вместо navigateToURL.

Psycho Tiger 12.03.2010 00:54

Это и имелось ввиду, смотрите мой пример.

a1. 12.03.2010 11:34

Про функцию в функции разобрались, при использовании её отписываюсь от события, а переход по ссылке для примера привёл. Так создаю метод и передаю туда кастомизированное событие, если, например, ссылок много.

Что по остальному? Может кто поделится кодом "правильного" простенького сайта?
Давайте подискутируем, думаю, многим полезна будет эта тема.
Опытные, подскажите пожалуйста, лучше с примерами. А то надоело делать неправильно.

F1esk 12.03.2010 11:55

Цитата:

Сообщение от Psycho Tiger (Сообщение 892512)
Создавая такую анонимную функцию как в вашем случае вы никогда от неё не отпишитесь и она навсегда останется в памяти.

И будет приходить во сне :)

Если серьёзно, организованный метод Destroy() в базовом классе, наследуемом от Sprite( и другие ) отписывает всех зарегистрированных в нем слушателей( override addEventListener ), удаляет со сцены всех чайлдов и делает их null ( override addChild ).

обожаю такие штуки
Код AS3:

child.addEventListener( "event" , function( e: event ) { trace( "Destroy меня убьет ;(" ); } );


lelka 12.03.2010 12:27

a1. А ты gaia пользовал? очень прикольная штука, предназначена специально для создания сайтов.

fljot 12.03.2010 13:12

Цитата:

Сообщение от lelka (Сообщение 892622)
a1. А ты gaia пользовал? очень прикольная штука, предназначена специально для создания сайтов.

Для домохозяек ;D

AlexDesinger 12.03.2010 13:14

Цитата:

Что по остальному? Может кто поделится кодом "правильного" простенького сайта?
Это навряд ли кто сделает, потому что структура может сильно меняться в зависимости от составляющих.
1. Структура страниц и модулей сайта, дизайн
2. Весь ли сайт будет на flash
3. Сколько в сайте графики, анимации или же много текста
4. Как часто будет обновляться сайт
5. Будет ли использоваться swfaddress

Котяра 12.03.2010 14:11

Вообще плохо что адобовцы не сделали метод removeAllListeners нативно.
Делал реализацию эвентов на as2 - там этот метод сразу заложил.. Всего-лишь зануляет массив для листенеров и всё - а вот для создания removeAllListeners в AS3 надо перекрывать addEventListener, создавать список зарегистрированных листенеров, удалять из списка при removeEventListener (опять же переопределять) в общем много лишнего..
что-то вроде:
Код AS3:

package  
{
        import flash.display.Sprite;
        /**
        * Расширенный класс спрайта с удалением листенеров
        * @author k0t0vich
        */

        public class XSprite extends Sprite
        {
 
                private var listenersList:Array = [];
                public function XSprite()
                {
                        super();
                }
 
                override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
                {
                        listenersList.push( { listener:listener, type:type } );
                        super.addEventListener(type, listener, useCapture, priority, useWeakReference);
                }
 
                override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
                {
                        var len:uint = listenersList.length-1;
                        for (var i:uint = len; i>=0; i--)
                        {
                                if (listenersList[i]["listener"] == listener && listenersList[i]["type"] == type)
                                listenersList.splice(i,1);
                        }
 
                        super.removeEventListener(type, listener, useCapture);
                }
 
                public function removeAllListeners()
                {
                        for (var i:uint = len; i>=0; i--)
                        {
                                super.removeEventListener(listenersList[i]["type"],listenersList[i]["listener"])
                        }
 
                        listenersList = [];
                }
 
        }
 
}


AlexDesinger 12.03.2010 15:43

Цитата:

Делал реализацию эвентов на as2 - там этот метод сразу заложил..
Да эт еще ладно, а вот как они реализовали удаление объектов в as3 - эт ваще пипелац без гравицапы, Сборщик мусора - эт ваще отстой, в этом плане as2 просто мега язык.

К стати - рекомендую при создании объектов спланировать их создание таким образом, чтобы не было нужды их удалять и создавать снова, а просто хайдить и отхайдивать когда нужно, поскольку, лично я жестоко ип...ся когда пытался сделать создание/удаление объектов как в as2, например при создании flv проигрывателя, мало того что его удаление - это уже проблема сама по себе, дк предствьте сколько нужно предусмотреть его состояний, например при загрузке или буференге видео, чтобы "понятно" объяснить сборщику, что этот объект больше не нужен, и то что он там завис при загрузке видео - это его (flvPlayback) личные проблемы и в любом случае его надо снести, как только этот объект станет адекватным. Поэтому, например при создании сложного объекта, у которого много разных состояний и пр. лабуды, при котором сборщик "считает" что этот объект жизненно необходим вашей програмее, поскольку он лучше знает что для вас нужно на вашем сайте, не смотря на то, что вы уверенно написали -
Код AS3:

removeChild(myObj);
myObj = null;

поэтому для таких обектов лучше создавайте один экземпляр, и меняйте его параметры, и хайдите, когда это требуется.

fljot 12.03.2010 16:35

AlexDesinger, вы говорите страшные глупости. Со сброщиком в этом смысле всё в полном порядке.

Цитата:

Сообщение от AlexDesinger (Сообщение 892662)
К стати - рекомендую при создании объектов спланировать их создание таким образом, чтобы не было нужды их удалять и создавать снова,

И это не универсальный совет. Представьте, что какие-нибудь галереи с большими картинками не удаляются из памяти, а просто скрываются — этак можно всю память забить, особенно важно с приходом всяких нетбуков и мобильных устройств. Нужно решать как лучше поступить в данном конкретном случая. Если раздел ("объект", про который идёт речь) планируется часто скрываться/показываться и он не очень "тяжёлый", то да, можно его не убивать-создавать постоянно.

Psycho Tiger 12.03.2010 17:50

Alex имеет ввиду, что есть на экране одновременно может отображаться 5 картинок, то нет нужды скрывать одну и добавлять одну - можно просто изменить одну.
F1esk, ну в целом можно, только не вижу в этом ничего хорошего.
А addChild зачем переписывать?

AlexDesinger 12.03.2010 18:04

Цитата:

Со сброщиком в этом смысле всё в полном порядке.
а вот и нет, с удалением flvPlayback есть такая проблема - я удаляю все ссылки на него, удаляю все слушатели, удаляю вообще что с ним связано, но если это происходит в момент подгрузки видео, то после того, как оно догрузиться, оно вполне себе спокойненько начинает воспроизводиться дальше как нивчем не бывало - знаете, нет его не видно, зато его прекрасно слышно не пойми откуда.
Ну вообще сбощик работает хорошо, я не спорю, просто сама идея такого подхода, лично меня абсолютно не устраивает, то ли дело метод removeMovieClip - просто прекрасно был реализован, но эт ладна.

Цитата:

И это не универсальный совет. Представьте, что какие-нибудь галереи с большими картинками не удаляются из памяти, а просто скрываются — этак можно всю память забить, особенно важно с приходом всяких нетбуков и мобильных устройств. Нужно решать как лучше поступить в данном конкретном случая. Если раздел ("объект", про который идёт речь) планируется часто скрываться/показываться и он не очень "тяжёлый", то да, можно его не убивать-создавать постоянно.
ну с этим я соглашусь, именно это я и имел ввиду, даже скорее я имел ввиду не все объекты, разумеется, а именно сложные объекты - я писал об этом выше или модули у которых много состояний, которые в связи с этим испытывают проблемы с удалением, а вы мне про картинки - конечно их можно сносить, если они забивают память, поскольку, во-первых они часто кэшируются, а во-вторых не имеют сложнстей при удалении, а так, да, конечно исходя из конкретного случая.

fljot 12.03.2010 18:44

Цитата:

Сообщение от AlexDesinger (Сообщение 892696)
а вот и нет, с удалением flvPlayback есть такая проблема - я удаляю все ссылки на него, удаляю все слушатели, удаляю вообще что с ним связано, но если это происходит в момент подгрузки видео, то после того, как оно догрузиться, оно вполне себе спокойненько начинает воспроизводиться дальше как нивчем не бывало - знаете, нет его не видно, зато его прекрасно слышно не пойми откуда.

Ну это ведь конкретная проблема криворуких разработчиков этого компонента.

Mur4ik 12.03.2010 18:45

a1., если интересует именно вопрос сайтостроения на флеше, и нет своих наработанных и хорошо отлаженных решений, то советую все же посмотреть в сторону GAIA. Этот фреймворк для сайтов избавит от рутинной и постоянной одинаковой работы при создании каждого сайта, плюс он особо не навязывает работать в той или иной манере, эта штука поможет быстро создать базовый каркас сайта, привязку к SWFAddress, переходы между страницами, остальное уже дело ваше использовать ли встроенные средства по загрузке всякого рода ассетов для страниц сайта (которые тоже не плохо продуманны и достаточно удобны) или пользоваться своими методами.

И как выше было отмечено это не для "домохозяек", вполне себе удобный инструмен вобравший в себя лучшие практики сайтострения на флеше.

lelka 12.03.2010 19:55

fljot - Обидел меня :) Ну и разработчиков gaia. Люди стараются для нас :)

Rzer 12.03.2010 21:51

Не для нас стараются, а для домохозяек) А или ты домохозяйка?)

a1. 12.03.2010 22:05

Спасиб. Погляжу, что за зверь.

AlexDesinger 12.03.2010 23:16

Цитата:

Ну это ведь конкретная проблема криворуких разработчиков этого компонента.
а разве в as2 removeMovieClip не удаляет все что находится в сносимом MovieClip без промедления и остатка? По-моему сносит без проблем, соответственно, видимо разработчики flvPlayback не причем, а возможно, это как раз у adobe кривые руки? Хотя во всем этом я не совсем уверен.

a1.
Вообще если задумываться над структурой, я для себя придумал такую штуку
- если мне нужен сайт где страницы ввиде страниц, похожих на html, а переход по ним выглядет наподобие перехода на другую страницу в браузере, то я создаю MovieClip - контейнер, в который загружается внешний *.swf имитирующий именно страницу, которая выгружается, когда в тот же контейнер загружается другая страница со всем своим содержимым...
- если мне нужен сайт где страницы в виде какого-нибудь красивого эффекта или необычного вида с анимационными переходами, то я предпочитаю делать страницу ввиде отдельного класса, экземпляр, которого создается когда нужно (в случае применения swfaddress сразу все модули и важные данные, поскольку точка входа на сайт может быть разной) т.е. это получается уже и не страница, а по большому счету определенный модуль, который активируется(отхайдивается) в нужный момент и начинает работать. Но возможно вы выработаете в процессе какой -нибудь свой подход.

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

mikhailk 13.03.2010 00:49

на самом деле, мне кажется, тут обсуждается изобретение Нового Велосипеда.

Каждый раздел сайта описывается xml-файлом, который формируется динамически каким-либо движком, например, на php. Флеш-загрузчик сайта хранит в себе текущий контейнер с контентом. При выборе нового раздела открывается его xml-описание, на основании которого в специально созданный пустой контейнер подкачивается весь контент. Как только подкачка закончилась, это контейнер показывается и становится текущим, а "предыдущий текущий" удаляется.

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

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

AlexDesinger 13.03.2010 10:10

Цитата:

на самом деле, мне кажется, тут обсуждается изобретение Нового Велосипеда.
Впринципе, когда я начинаю создавать сайт полностью на flash имено этим и приходиться заниматься каждый раз, особенно, если это as3.
Цитата:

- движок при запросе выдает html-страницу, которая содержит код для вызова флеш-загрузчика
чет не понял - вы предлагаете создавать динамически html страницы, на которых висят несвязанные между собой флэшки? Ну тк. в этом подходе нет ничего нового - эт изобрели уже давно и в нем нет ничего интересного, поскольку флэш в этом варианте используется примерно в роли навороченного css или java для отображения контента, весь смысл строения сайта полностью на flash, в том что страница никогда не перегружается и в нем происходит связанная анимация. Хотя, автор так и не ответил какой сайт именно он хочет, поэтому рецепта тут нет пока и ваш вариант с велосипедом тоже не факт что подойдет.

mikhailk 13.03.2010 11:10

Цитата:

чет не понял - вы предлагаете создавать динамически html страницы, на которых висят несвязанные между собой флэшки?
не флэшки, а флэшка-загрузчик
и только в том случае, когда сайт пойдет в продвижение
иначе Вы не скормите контент поисковикам

если продвижения нет, то и перезагружать не нужно.
а велосипед был в другом.
не надо каждый раз с нуля программировать флэш-сайт
нужно один раз сделать загрузчик, а потом просто скармливать ему контент

lelka 13.03.2010 14:35

Rzer - я не домохозяйка, но занимаюсь как раз в основном сайтами. А сайты часто шаблонные. иногда gaia очень даж годится. :)

AlexDesinger 14.03.2010 01:23

mikhailk
Вообще интересный вариант с динамической html страницой, на которой как я понял генерируется текст, который виден только поисковикам, скажите, а есть где-нть почитать поподробнее про такую реализацию, или может дадите мини-мастер класс, хотябы в теории, по-моему, это как раз по теме будет =)

fljot 14.03.2010 02:05

Если я правильно понял mikhailk, то он имел ввиду такой варинат, как сейчас сделан http://thefwa.com

mikhailk 14.03.2010 10:33

да, примерно об этом я и говорил.
Плюс создаем отдельный div, в который кладем столько текстового контента, сколько хотим (по теме, естественно). При загрузке страницы проверяем, установлен ли флэш-плеер и, если установлен, то скрываем этот div средствами js или просто выводим в него флэш.


AlexDesinger, ставить текст, который виден ТОЛЬКО поисковикам - это не всем поисковикам может понравиться. )) Я говорю о тексте (оформленном разметкой, стилями, при необходимости картинками и т.д.), который показывается вместо флэша, если флэш-плеер не установлен. Т.е., по сути мы выдаем одновременно флэшевую и html-ную версии сайта, а пользователь видит ту, которую может.

AlexDesinger 14.03.2010 15:52

mikhailk
ааа, теперь, понятно, это называется альтернативный контент, ну это итак все используют, это и у меня есть, правда в нем кроме ссылки на flash плеер я не стал ничего писать. У меня то был в другом вопрос - вот пользователь зашел на сайт, увидел флэш, поисковик альтернативный контент и все обрадовались, но вот пользователь щелкнул на сслыку, swfaddres подгрузил или изменил отображаемый кнтент во flash, как это сделать для поисковика, ну или, соответственно для тех, кому его религиозные представления не позволяют просматривать flash контент?

fljot 14.03.2010 16:30

Должна быть страница с html-контентом, соответствующему контенту во флеше, по адресу, соответствующему swfaddress'овскому диплинку. Например, .com/gallery/ <->.com/#/gallery/ Причем на главной странице в альт. контенте должна быть ссылка на .com/gallery/. При заходе на .com/gallery/ (скажем, с гугла) возможна автоматическая переадресация (JS) на .com/#/gallery/, НО по сути это клоакинг => можно быть забаненым поисковиком.. так что или на свой страх и риск, или придумывать workaround'ы...

Но это топик скатывается в вопросы seo.

mikhailk 14.03.2010 18:06

Цитата:

Сообщение от AlexDesinger (Сообщение 893034)
mikhailk
ааа, теперь, понятно, это называется альтернативный контент, ну это итак все используют, это и у меня есть, правда в нем кроме ссылки на flash плеер я не стал ничего писать. У меня то был в другом вопрос - вот пользователь зашел на сайт, увидел флэш, поисковик альтернативный контент и все обрадовались, но вот пользователь щелкнул на сслыку, swfaddres подгрузил или изменил отображаемый кнтент во flash, как это сделать для поисковика, ну или, соответственно для тех, кому его религиозные представления не позволяют просматривать flash контент?

Так я об этом и говорю!!!!!!!!!!!!!!!!!!!!!!!!!!! :)

Берем любую cms, которая может отдавать страницу в виде html (со всеми обвесами/темплейтами) и ЕЕ ЖЕ в xml (только непосредственно контент). При запросе адреса URL cms-ка формирует html-страницу и выплевывает ее в браузер пользователя. В этой странице сидит флэш-загрузчик и javaScript, который определяет наличие флэш-плеера.

Если флеш-плеера нет, то пользователь видит то, что уже пришло. Т.е., HTML. Это же увидит и поисковик.

Если плеер есть, то HTML-контент не показывается, а javaScript'ом запускается флеш-загрузчик, в который передаются параметры текущей страницы. Он повторно запрашивает у cms эту страницу, но уже в xml. После получения xml загрузчик догружает недостающее и показывает флэш-версию страницы.

Выглядит подозрительно с точки зрения повышенного трафика (каждая страница запрашивается вроде как два раза), но по факту гоняется только текст, а графика все равно качается в один проход, а потом кэшируется. Ну и те изображения/мувики, которые есть только во флэш-варианте.

Сам по себе загрузчик весит вообще копейки. Несколько килобайт.

С точки зрения СЕО тут все в порядке.

Psycho Tiger 14.03.2010 21:30

А не судьба если есть флеш плеер поставить редирект с индекса на флеш версию, а если нету - на хтмл версию?

AlexDesinger 14.03.2010 21:45

Цитата:

А не судьба если есть флеш плеер поставить редирект с индекса на флеш версию, а если нету - на хтмл версию?
А это, а поисковик - это захавает? В смысле попадет на html сайт?

mikhailk 14.03.2010 22:39

Psycho Tiger, а в чем выигрыш-то?
Тащить два сайта вместо одного? :)

a1. 14.03.2010 22:41

Дело не в сео. Некоторым клиентам это не нужно.
Вот, например, я сайт с полгода назад делал:
http://www.projectinteriors.net/, как бы вы его реализовали, особенно интересуют странички с галереями? Просто на пальцах: тут див скрываем, тут добавляем-удаляем.


Часовой пояс GMT +4, время: 21:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.