0

我正在尝试将 SWF 加载到一个简单的应用程序中以进行测试。SWF 已使用 swftools-0.9.1 使用以下命令编译:

/usr/bin/pdf2swf 10993.PDF -o 10993.SWF -f -T 9

SWF 在浏览器中加载良好。

将以下 Flex 代码与 Flex SDK 4.6 一起使用:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:flexpaper="com.devaldi.controls.flexpaper.*"
                       creationComplete="onCreationComplete()">
    <fx:Script>
        <![CDATA[
            import flash.utils.setTimeout;

            private function onCreationComplete():void
            {
                swf.SwfFile = 'http://my/domain/10993.SWF';
            }
        ]]>
    </fx:Script>
    <flexpaper:FlexPaperViewer width="100%" height="100%" id="swf"/>
</s:WindowedApplication>

crossdomain.xml 文件是:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

最终结果是:

SecurityError: Error #3207: Application-sandbox content cannot access this feature.

知道为什么会这样吗?

4

2 回答 2

0

这可能是由于加载的 SWF 包含Security.allowDomain()在 AIR 应用程序中调用时引发此错误的调​​用。-t尝试在不使用该选项的情况下重新生成 SWF 文件。

于 2014-01-03T01:11:38.403 回答
0

由于安全限制,我无法在 AIR 中加载外部 SWF。根据 Adob​​e 的说法,除了使用 HTML 组件通过外部 HTML 页面加载外部 SWF 之外,没有其他解决方法。

于 2014-03-24T17:05:26.237 回答