当我的一些用户尝试访问我的Flash应用程序时,他们会收到错误消息
RSL Error 1 of 1
Run Code Online (Sandbox Code Playgroud)
就是这样,没有错误代码或任何东西.此页面适用于Internet Explorer,但主要使用Chrome.它也适用于我和Chrome中的另一位同事.我们在同一个网络上.
这是我的.actionScriptProperties文件
<?xml version="1.0" encoding="UTF-8"?>
<actionScriptProperties mainApplicationPath="Works.mxml" version="3">
<compiler additionalCompilerArguments="-locale en_US -strict=true -debug=true -optimize=true -link-report output.xml -use-network=false" copyDependentFiles="false" enableModuleDebug="true" flexSDK="Flex 3.2" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="true" htmlHistoryManagement="true" htmlPlayerVersion="9.0.124" htmlPlayerVersionCheck="true" outputFolderPath="bin-debug" sourceFolderPath="src" strict="true" useApolloConfig="false" verifyDigests="true" warn="true">
<compilerSourcePath/>
<libraryPath defaultLinkType="1">
<libraryPathEntry kind="4" path="">
<modifiedEntries>
<libraryPathEntry kind="3" linkType="4" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="true">
<crossDomainRsls>
<crossDomainRslEntry autoExtract="true" policyFileUrl="" rslUrl="flex.swf"/>
</crossDomainRsls>
</libraryPathEntry>
<libraryPathEntry kind="3" linkType="4" path="${PROJECT_FRAMEWORKS}/libs/framework.swc" useDefaultLinkType="false">
<crossDomainRsls>
<crossDomainRslEntry autoExtract="false" policyFileUrl="" rslUrl="https://example.com/rsl/framework_3.2.0.3958.swz"/>
<crossDomainRslEntry autoExtract="false" policyFileUrl="" rslUrl="https://example.com/rsl/framework_3.2.0.3958.swf"/>
</crossDomainRsls>
</libraryPathEntry>
<libraryPathEntry kind="3" linkType="4" path="${PROJECT_FRAMEWORKS}/libs/utilities.swc" useDefaultLinkType="true"> …Run Code Online (Sandbox Code Playgroud) 好的,所以这是我的问题.我在运行时从不同的域中引入了几个SWF(我们正在使用CDN).SWF中有一些共享字体.
我正在尝试尽可能地减小文件大小,这意味着要么不在任何这些SWF中嵌入字体,要么在运行时设置所有TextFormats.这是非常不切实际的,很容易错过其中一些.
另一个更好的选择是使用运行时共享库来提取字体,但这需要绝对URL(违背使用CDN的概念)或相对URL(首先要破坏使用RSL的目的)因为无论如何都会多次下载这些资源).
理想情况下,我希望能够在运行时告诉每个SWF在哪里提取字体,并为它们提供所有相同的动态URL.
我找不到遇到类似情况的人,所以我不确定这是否可以做到,但我找到的大多数AS3问题都在这里得到解决,所以我希望有人知道这个问题的一个很好的解决方案.
或者我有没有考虑第三种选择?
将SWC库链接到flex应用程序有三种模式:"合并到代码","外部"和"RSL".我理解什么是"RSL",但我不明白什么是"外部".
"RSL"对我来说很好,没有任何代码更改.但是,外部对我不起作用.虽然我的应用程序启动,但从未找到SWC设置为External的类.
如果不是"RSL","外部"是什么意思?我该如何使用它?
谢谢你,鲍里斯
我有一个Adobe AIR应用程序,并在某个时刻发出警告:
警告:从http://fpdownload.adobe.com/pub/swz/crossdomain.xml忽略策略文件中的"安全"属性."secure"属性仅允许在HTTPS和套接字策略文件中使用.有关详细信息,请访问http://www.adobe.com/go/strict_policy_files.
我不是在代码中直接加载任何外部文件.我也尝试过将static-link-runtime-shared-libraries设置为true,这似乎没什么区别.
我想知道还有什么可能导致这个请求,以及如何消除它.我的应用程序应该能够在没有互联网连接的情况下运行,但是这个请求基本上阻止了这种能力.
在Flash CS5中,似乎可以选择将.swc文件导入库中,但作为RSL(运行时共享库).

这个选项(swc)和使用运行时共享库.swf文件有什么区别?
此外,如果您选择.swc文件,并选择"info"("i")图标,似乎有几个选项.swc ..."合并到代码","外部","运行时共享库" :
