Кто-нибудь знает фреймворк php, который будет обрабатывать прогрессивное улучшение для Flash/Flex контента?

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

http://www.samplesite.com/#specific_page

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

По сути, я бы использовал php/mysql для создания серверной части для обработки всего этого, поскольку swf также использует динамические данные. Вопрос в том, существует ли что-то, что уже существует?

3 ответа

Решение

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

Хеш (или привязка) URL-адреса только на стороне клиента - этот токен не отправляется на сервер. Это означает, что единственный способ (который я знаю) загрузить контент, который вам нужен для example.com/#some_page, - это использовать AJAX, который может прочитать хеш и затем запросить данные, специфичные для страницы, с сервера.

Готово? Нет. Потому что это убьет поисковых роботов. Возможное решение состоит в том, чтобы example.com/some_page обслуживал тот же контент (на самом деле, это может быть сервис REST, который вы уже сделали для возврата содержимого, запрошенного AJAX или Flash), и предоставить файл sitemap.xml, который индексирует эти URI, чтобы помочь поисковым системам.

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

Если вы используете SWFAddress с Flash/Flex, вы можете прочитать URL-адрес, а затем разбить его на массив и сделать так, как хотите:

SWFAddress.addEventListener ( SWFAddressEvent.CHANGE, onChange );
private function onChange ( e : SWFAddressEvent ) : void 
{
     var ar : Array = SWFAddress.getValue ().split ( '/' );
     trace ( 'Array : ', ar );
}

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

Другой альтернативой является использование FAUST. Что вы можете сделать с FAUST, так это заставить PHP отобразить HMTL в качестве допустимой разметки, а затем FAUST извлечет HTML и передаст его во Flash через Flash Vars в виде XML. Этот метод делает поисковые машины по-настоящему счастливыми (см. http://www.bartoncreek.com/).

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

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

Дайте нам знать, если они работают!

Другие вопросы по тегам