Опубликован: 23.12.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 14:

Работа флэш-программ в Internet

Возможные проблемы

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

Веб-серверы на Unix/Linux и Case-sensitivity

Как вы знаете, файловые системы Unix и Linux чувствительны к регистру (в отличие от Windows). Это касается также и HTTP-запросов к веб-серверам, работающим под управлением Unix/Linux. Поэтому у вас может возникнуть такая ситуация: пока вы тестируете флэш-проект с Windows-веб-сервера, все работает прекрасно, а как только выкладываете на Unix/Linux - все перестает работать.

Вам придется внимательно пересмотреть все пути, которые используются внутри флэш-ролика, например, пути runtime sharing, параметры URL LoadVars, XML и подобных средств, и заменить большие буквы на маленькие (или наоборот). Это можно автоматизировать с помощью, например, UltraEdit, который позволяет заменить одну строчку на другую сразу во многих файлах (имеются в виду *.fla-файлы). Редактировать файлы придется, разумеется, в бинарном режиме (впрочем, UltraEdit сам разберется).

Иногда во *.fla-файлах остаются старые, не используемые более пути, и тогда бывает сложно найти, что требуется заменить. В таких случаях можно просмотреть *.swf-файлы (предварительно нужно отключить ихсжатие: Publish Settings / Flash / Compress Movie ), в которые попадают только действительно используемые пути.

MacOS и механизмы типа LoadVars

Допустим, вы используете LoadVars для работы с ini-файлами. Под Windows, если в запрашиваемом файле ничего нет или нет самого файла, все работает прекрасно, но под MacOS все не так замечательно: при выполнении хотя бы одного из двух условий флэш-плеер будет очень долго ожидать, в результате время загрузки увеличится в несколько раз.

Поэтому сделайте пустые ini-файлы (или другие соответствующие файлы, которые вы используете) и запишите в них по одной строчке, например: __somevar = somevalue.

runtime-загрузчики

Если вы используете runtime sharing, и ваш проект перестает работать, как только вы его выкладываете на веб-сервер, возможно, дело в том, что вы не используете runtime-загрузчики. Детальнее об этом см. в лекции "Методика организации командной работы над Flash-проектом" в разделе " Runtime sharing ".

Контролируемая загрузка клипов

Опять же, если вы используете runtime sharing, и ваш проект перестает работать, как только вы его выкладываете в Интернет, возможно, у вас "рассинхронизировались" *.swf-модули в результате увеличения времени загрузки. Детальнее об этом см. в лекции "Методика организации командной работы над Flash-проектом" в разделе " Runtime sharing ".

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

алексеи федорович
алексеи федорович
Беларусь, рогачёв
Тамара Ионова
Тамара Ионова
Россия, Нижний Новгород, НГПУ, 2009