簡體   English   中英

為什么有些用戶在Flash應用程序中收到rsl錯誤?

[英]Why are some users getting rsl error in flash app?

當我的某些用戶嘗試訪問我的Flash應用程序時,他們收到一個錯誤

RSL Error 1 of 1

就是這樣,沒有錯誤代碼或任何東西。 該頁面適用於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">
                <crossDomainRsls>
                  <crossDomainRslEntry autoExtract="true" policyFileUrl="" rslUrl="/rsl/utilities.swf"/>
                </crossDomainRsls>
              </libraryPathEntry>
            </modifiedEntries>
          </libraryPathEntry>
          <libraryPathEntry kind="1" linkType="1" path="libs"/>
        </libraryPath>
        <sourceAttachmentPath/>
      </compiler>
      <applications>
        <application path="Calendar.mxml"/>
        <application path="testImage.mxml"/>
        <application path="XMLCreate.mxml"/>
        <application path="book.mxml"/>
        <application path="Works.mxml"/>
        <application path="cpapp.mxml"/>
        <application path="books.mxml"/>
        <application path="flashup.mxml"/>
        <application path="Eyeballs.mxml"/>
        <application path="albums.mxml"/>
        <application path="DragDrop.mxml"/>
        <application path="flexpaint.mxml"/>
        <application path="testdrop.mxml"/>
        <application path="TextTicker.mxml"/>
        <application path="slideshow.mxml"/>
        <application path="test.mxml"/>
        <application path="bifedit.mxml"/>
        <application path="test_canvas.mxml"/>
        <application path="canvas.mxml"/>
        <application path="LayoutBuilder.mxml"/>
        <application path="ComponentBuilder.mxml"/>
        <application path="BIF.mxml"/>
      </applications>
      <modules/>
      <buildCSSFiles>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/grey.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/timeless3.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/letter_photography.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/bobday.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/wdt.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/sigart.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/save_on_crafts.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/creativehabitat.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/acmoore.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/kamans.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/ipi.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/bachphoto.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/tfstyle.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/front_slide.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/fonts.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/abm.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/appo.css"/>
        <buildCSSFileEntry destPath="bin-debug" sourcePath="src/CSS/benfranklin.css"/>
      </buildCSSFiles>
    </actionScriptProperties>

編輯:好的,用戶沒有向我發送整頁,其中包含錯誤號。完整的錯誤是:

RSL Error 1 of 1
Error #2048

EDIT2:Crossdomain.xml(位於https://example.com/crossdomain.xml

<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

編輯3:我看了一下開發人員網絡信息。 似乎在我的機器上甚至沒有嘗試請求跨域文件,而在我的同事的機器上,它正在http和https上請求它。

以下是嵌入Flash的代碼:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Works" name="Works" width="990" height="670" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
    <param name="quality" value="high" />
    <param name="movie" value="/sites/all/misc/cfa_flex/canvas.swf" />
    <param name="wmode" value="transparent" />
    <param name="bgcolor" value="#ffffff" />
    <param name="allowScriptAccess" value="always" />
    <param name="allowFullScreen" value="true" />  
    <param name="flashVars" value="prodid=&amp;prjid=&amp;apptype=canvastransfer&amp;pid=elegance" />  
    <param name="apptype" value="canvastransfer" />  
    <param name="prodid" value="" />  
    <param name="prjid" value="" />  
    <param name="allowFullScreen" value="true" />  
    <param name="domain" value="https://example.com" />
    <script type="text/javascript" src="/sites/all/misc/js/AC_OETags.js"></script>
    <script type="text/javascript" src="/sites/all/misc/js/detectflash.js"></script>
    <script type="text/javascript" src="/sites/all/misc/js/miscscripts.js"></script>
    <script type="text/javascript" src="/misc/jquery.js"></script>
    <script type="text/javascript" src="/sites/all/misc/js/tl.js"></script>
    <script type="text/javascript" src="/sites/all/modules/contrib/thickbox/thickbox.js"></script>
    <script language="JavaScript" type="text/javascript">
      //<![CDATA[
        if (hasReqestedVersion) {var content = '<embed src="/sites/all/misc/cfa_flex/canvas.swf?k" quality="high" bgcolor="#ffffff"'
        + 'id="Works"'
        + 'allowFullScreen="true"'
        + 'width="990" height="670" name="Works" align="middle"'
        + 'wmode="transparent"'
        + 'play="true"'
        + 'loop="false"'
        + 'quality="high"'
        + 'allowFullScreen="true"'
        + 'flashVars="apptype=canvastransfer"'
        + 'allowScriptAccess="always"'
        + 'type="application/x-shockwave-flash"'
        + 'pluginspage="http://www.adobe.com/go/getflashplayer">'
        + '</embed>';
        document.write(content);

        } else {
        document.write('<h3 style="font-family:Arial, Helvetica, sans-serif; color:#999999;">You do not have the latest version of Macromedia Flash Player.</h3><a href="http://www.macromedia.com/go/getflashplayer" target="_blank"><img src="http://www.macromedia.com/images/shared/download_buttons/get_flash_player.gif" border="0" width="88" height="31" alt="Get Adobe Flash Player" /></a><a href="http://www.adobe.com/go/getflash/">The website requires 9 or higher version of flash to display the content.</a><p>To Download Flash Player on Android, see: <a href="http://forums.adobe.com/thread/1061194">http://forums.adobe.com/thread/1061194</a>.</p>');

        }
      //]]>
    </script>
  </object>

編輯4:此外,當從我的同事計算機中調用跨域時,它是使用我們的其他域來調用的

https://www.example2.com/crossdomain.xml
http://www.example2.com/crossdomain.xml

原始頁面的請求是

https://example.com/cfa/canvastransfer

問題是,所有這些都需要在我們所有三個域上都相同。

編輯5:更新了allowScriptAccess始終為,而不是嵌入Flash的代碼上的sameDomain。 沒變。

編輯6:在我的一個mxml文件中,我將此稱為(仍然存在相同的問題):

Security.loadPolicyFile("https://example.com/crossdomain.xml");

您是否在為rsls服務的服務器上部署了crossdomain.xml文件?

當通過https為您的應用swf提供服務時,嘗試通過http加載rsl也可能導致這種情況。

加載crossdomain.xml文件后,我仍然遇到問題

Security.loadPolicyFile(getRootDomain() + "crossdomain.xml");
Security.loadPolicyFile(getRootDomain() + "policyFile.xml");

public static function getRootDomain():String
{
  return "https://" + ExternalInterface.call("getRoot") + "/";
}

基本上,確保所有URL都使用https而不是http似乎可以解決此問題,以及loadPolicyFile行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM