Как я делаю своего Муравья Сгенерированным swf как можно меньше?

Используя XmlHttpRequest можно потянуть текущую страницу и затем исследовать http заголовки ответа.

Лучший случай должен просто сделать HEAD запрос и затем исследовать заголовки.

Для некоторых примеров выполнения этого взглянули на http://www.jibbering.com/2002/4/httprequest.html

Просто мои 2 цента.

5
задан rjzii 1 December 2011 в 17:00
поделиться

4 ответа

Спасибо за ответы, ребята, но этого не было.

оказывается, все, что мне нужно было сделать, это удалить материал пути к разделяемой библиотеке времени выполнения, поскольку он уже есть в файле flex-config.xml. Мне также пришлось изменить static-link-runtime-shared-libraries на false (чтобы он стал динамическим).

Я скопировал файл flex-config.xml в свой каталог сборки и использовал его, чтобы безопасно вносить изменения .

Это с Flex 4 BTW - не уверен, что я это очень ясно дал.

мой файл ant теперь выглядит так:

<project name="EUI Client Application" default="compileClientApp">

<target name="compileClientApp" depends="compileClientBundles">
    <mxmlc 
        file="${CLIENT_PROJECT.dir}/src/${CLIENT_PROJECT.app}.mxml" 
        output="${DEPLOY.dir}/${CLIENT_PROJECT.app}.swf" 
        keep-generated-actionscript="false" 
        actionscript-file-encoding="UTF-8" 
        optimize="true" incremental="false"
        link-report="${DEPLOY_BIN.dir}/app_link_report.xml"
        >

        <load-config filename="${basedir}/flex-config.xml" />

        <define name="CONFIG::stub" value="false" />
        <define name="CONFIG::release" value="true" />

        <source-path path-element="${CLIENT_PROJECT.dir}/src" />

        <compiler.library-path dir="${LIBS.dir}" append="true">
            <include name="*.swc" />
        </compiler.library-path>
        <compiler.library-path dir="${DEPLOY_BIN.dir}" append="true">
            <include name="*.swc" />
        </compiler.library-path>
    </mxmlc>
</target>

<target name="generateWrapper">
    <html-wrapper 
        title="${CLIENT_APP_TITLE}" 
        file="${CLIENT_PROJECT.app}.html" 
        height="100%" width="100%" 
        bgcolor="white" application="app" 
        swf="${CLIENT_PROJECT.app}" 
        version-major="10" version-minor="0" version-revision="0" 
        history="true" output="${DEPLOY.dir}" />
</target>

<target name="compileClientBundles">
    <compileBundle bundleName="Modules" source="${CORE_PROJECT.dir}/locale" />
</target>

2
ответ дан 15 December 2019 в 01:08
поделиться

Вам, вероятно, потребуется указать пути к внешним библиотекам с помощью параметра -external-library-path .

См. документацию для получения дополнительной информации.

Чтобы использовать RSL при компиляции приложения, вы используете следующие параметры компилятора приложения:

* runtime-shared-libraries Provides the run-time location of the shared library.
* external-library-path|externs|load-externs Provides the compile-time location of the libraries. The compiler requires this for dynamic linking.

Используйте параметр runtime-shared-libraries, чтобы указать расположение SWF-файла, который приложение загружает как RSL во время выполнения. Вы указываете расположение SWF-файла относительно места развертывания приложения. Например, если вы храните библиотеку. swf в каталоге веб-каталог / библиотеки на веб-сервере и приложение в корневом веб-каталоге, вы указываете библиотеки / library.swf.

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

Используйте параметр external-library-path, чтобы указать расположение файла SWC библиотеки или открытого каталога, на который приложение ссылается во время компиляции. Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = и приложение в корневом веб-каталоге, вы указываете библиотеки / library.swf.

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

Используйте параметр external-library-path, чтобы указать расположение файла SWC библиотеки или открытого каталога, на который приложение ссылается во время компиляции. Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = и приложение в корневом веб-каталоге, вы указываете библиотеки / library.swf.

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

Используйте параметр external-library-path, чтобы указать расположение файла SWC библиотеки или открытого каталога, на который приложение ссылается во время компиляции. Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = Если вы указываете более одной библиотеки, разделяйте каждую библиотеку запятой.

Используйте параметр external-library-path, чтобы указать расположение файла SWC библиотеки или открытого каталога, на который приложение ссылается во время компиляции. Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = Если вы указываете более одной библиотеки, разделяйте каждую библиотеку запятой.

Используйте параметр external-library-path, чтобы указать расположение файла SWC библиотеки или открытого каталога, на который приложение ссылается во время компиляции. Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = Компилятор обеспечивает проверку ссылок во время компиляции с использованием библиотеки, указанной этим параметром. Вы также можете использовать параметры externs или load-externs, чтобы указать отдельные классы или XML-файл, который определяет содержимое библиотеки.

В следующем примере командной строки компилируется приложение MyApp, использующее две библиотеки:

mxmlc - разделяемые библиотеки времени выполнения = ../libraries/CustomCellRenderer/library.swf, ../libraries/CustomDataGrid/library.swf -external-library-path = .. / библиотеки / CustomCellRenderer, ../libraries/CustomDataGrid MyApp.mxml

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

Вы также можете использовать файл конфигурации, как показано в следующем примере:

../ библиотеки / CustomCellRenderer ../libraries/CustomDataGrid ../libs/playerglobal.swc ../libraries/CustomCellRenderer/library.swf ../libraries/CustomDataGrid/library.swf

Параметр runtime-shared-libraries указывает относительное расположение файлов library.swf, когда приложение было развернуто. Параметр external-library-path - это расположение SWC-файла или открытого каталога во время компиляции. Из-за этого вы должны знать места развертывания библиотек относительно приложения при его компиляции. Вам не обязательно знать структуру развертывания при создании библиотеки, потому что вы используете компилятор командной строки compc для создания файла SWC.

1
ответ дан 15 December 2019 в 01:08
поделиться

Попробуйте разделить ваши RSL на их собственные аргументы. Вот что получилось у меня в сборке:

<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
    <url rsl-url="${rsl.url}/framework_3.2.0.3958.swz" />
    <url rsl-url="${rsl.url}/framework_3.2.0.3958.swf" />
</runtime-shared-library-path>

<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/datavisualization.swc">
    <url rsl-url="${rsl.url}/datavisualization_3.2.0.3958.swz" />
    <url rsl-url="${rsl.url}/datavisualization_3.2.0.3958.swf" />
</runtime-shared-library-path>
1
ответ дан 15 December 2019 в 01:08
поделиться

Используя RSL, не забудьте установить для параметра use-network значение true, иначе скомпилированный swf-файл будет сообщать об ошибке безопасности (не может загрузить RSL) при запуске в другом месте.

0
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: