Кто-нибудь знает о PHP-фреймворке, который будет обрабатывать прогрессивное улучшение контента Flash/Flex?
-
05-07-2019 - |
Вопрос
Хорошо, я здесь довольно широко использую термин «Прогрессивное улучшение», но по сути у меня есть веб-сайт на основе Flash, который поддерживает глубокие ссылки и динамически загружает контент. Я бы хотел предоставить альтернативный контент (текст) для этих либо без Flash и для ботов поисковых систем.Итак, для пользователя с Flash он перейдет к:
http://www.samplesite.com/#specific_page
и они увидят флеш-сайт, который приведет к "specific_page
." Те, у кого нет вспышки, увидят "specific_page
" отображается в виде текста в разделе альтернативного контента.
По сути, я бы использовал php/mysql для создания серверной части для обработки всего этого, поскольку SWF также использует динамические данные.Вопрос в том, существует ли что-то подобное?
Решение
Существует неотъемлемая проблема с тем, чего вы пытаетесь достичь.
Хэш URL-адреса (или привязка) используется только на стороне клиента — этот токен не отправляется на сервер.Это означает, что единственный способ (который я знаю) загрузить контент, который вам нужен для example.com/#some_page, — это использовать AJAX, который может читать хэш, а затем запрашивать данные для конкретной страницы с сервера.
Сделанный?Нет.Потому что это убьет ботов поисковых систем.Возможное решение состоит в том, чтобы example.com/some_page обслуживал один и тот же контент (фактически это может быть уже созданная вами служба REST для возврата содержимого, запрошенного AJAX или Flash), и предоставить карта сайта.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 ).
Итак, чтобы ответить на ваш вопрос, есть инструменты, которые помогут вам достичь ваших целей.