Ошибка при преобразовании сайта из Flex 3 в Flex 4 - PullRequest
0 голосов
/ 20 августа 2010

Я перемещаю сайт Flex 3 в Flex 4, но при запуске приложения оно пытается загрузить файл .swz из Adobe и выдает следующую ошибку:

*** Security Sandbox Violation ***
Connection to http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz halted - not permitted from http://localhost/Fl/CityGIS/main.swf
Error #2048: Security sandbox violation: http://localhost/Fl/CityGIS/main.swf cannot load data from http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz.
Failed to load RSL http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz
Failing over to RSL textLayout_1.1.0.604.swz

После этогоэто попытка загрузить тот же файл с локального хоста.

Есть ли способ настроить SDK для получения этих файлов, или проблема с настройкой моего приложения?

Ответы [ 3 ]

1 голос
/ 27 октября 2010

Я обнаружил, что у меня возникла эта проблема только при использовании: -use-network = false, и я пытался запустить html локально, а .swf обращался к локальным файлам (за пределами свободных папок flex security).

Мой обходной путь - обновить sdks // frameworks / flex-config.xml (в каталоге Flash Builder) и поменять местами общие пути порядка выполнения: например:

<runtime-shared-library-path>
    <path-element>libs/textLayout.swc</path-element>
    <rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
    <rsl-url>textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url></policy-file-url>     
</runtime-shared-library-path>

TO:

<runtime-shared-library-path>
    <path-element>libs/textLayout.swc</path-element>
    <rsl-url>textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url></policy-file-url>     
    <rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz</rsl-url>
    <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>

Вы должны будете сделать это для других примерно пяти записей.

Adobe должна действительно посмотреть на это и исправить проблему.

Надеюсь, это поможет.

Приветствия

Parmy

0 голосов
/ 20 августа 2010

Я думаю, что проблема в том, что расположение, которое он использует для textLayout SWC http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz

перенаправляет на

/ паб / SWZ / Flex / 4.1.0.15186 / textLayout_1.1.0.601.swf

и политика междоменных доменов этому не радует.

Я думаю, что это указывает на проблему с версией SDK, которую вы используете. Вы можете перейти в sdks/<FRAMEWORK_VERSION>/frameworks/flex-config.xml ( в каталоге Flash Builder ) и посмотреть, как именно путь к общей библиотеке времени выполнения настроен для textLayout.swc. Вот что у меня за flex_sdk_4.1.0.15186:

<!-- TextLayout SWC -->    
<runtime-shared-library-path>
  <path-element>libs/textLayout.swc</path-element>
  <rsl-url>textLayout_1.1.0.601.swf</rsl-url>    
  <policy-file-url></policy-file-url>    
  <rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.1.0.15186/textLayout_1.1.0.601.swf</rsl-url>
  <policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
</runtime-shared-library-path>

Я предлагаю попробовать перейти на последнюю версию 4.1 SDK и перекомпилировать.

0 голосов
/ 20 августа 2010

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

Попробуйте добавить это к опциям вашего компилятора: -use-network = false

Затем очистите и принудительно соберите приложение.

Если это не сработает, и просто хватается за соломинку, но пытались ли вы вручную загрузить и поместить ее в пространство lib вашего проекта?

Также, вы уверены, что обновились до Flex 4.1?

Я только что проверил свой локальный KB (evernote) и упомянул, что FireFox иногда имеет проблему с кэшированием, и что перезапуск FF решил ее один раз для меня.

...