2010-11-15 10 views
0

我正在使用swfobject.js部署加载我的Flex小程序。不幸的是,尽管我可以通过Flash Builder在Firefox中运行/调试,但我无法通过其URL访问已部署的小应用程序 - 小应用程序无法加载/启动。我可以通过IE 8和Chrome 7的URL访问已部署的小程序。任何人都可能在Firefox中导致这个问题?下面是SWFObject的代码和生成的目标代码:在Firefox中无法访问的部署SWF

<script type="text/javascript"> 
    window.onload = function() { 
     <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 
     var swfVersionStr = "10.0.0"; 
     <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. --> 
     var xiSwfUrlStr = "playerProductInstall.swf"; 
     var flashvars = {}; 
     var params = {}; 
     params.quality = "high"; 
     params.bgcolor = "white"; 
     params.allowscriptaccess = "sameDomain"; 
     params.allowfullscreen = "true"; 
     var attributes = {}; 
     attributes.id = "FlexUi"; 
     attributes.name = "FlexUi"; 
     attributes.align = "middle"; 
     swfobject.embedSWF(
      "FlexUi.swf", "flashContent", 
      "100%", "100%", 
      swfVersionStr, xiSwfUrlStr, 
      flashvars, params, attributes); 
        <!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. --> 
        swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 
    }; 
</script> 


<div> 
    <object type="application/x-shockwave-flash" id="FlexUi" name="FlexUi" align="middle" data="FlexUi.swf" width="100%" height="100%"> 
    ... 
    </object> 
</div> 
+0

你可以包括你的SWFObject的代码吗? – 2010-11-15 19:43:22

回答

0

我使用swfobject.js部署我 弯曲的小程序

SWObject.js是一个JavaScript文件;和JavaScript文件只是文本。

“部署”Flex应用程序通常意味着导出发布版本,然后将所有文件从开发机器移至生产机器。

没有办法用swObject.js“部署”任何东西。

大多数人使用Flash Builder(或其他工具)导出发布版本,然后使用FTP或通过网络上传到生产机器。

您可能正在使用一些JavaScript和其他HTML文件(包括swfObject.js)来部署您的应用程序。如果是这样,我强烈建议您查看在'release build'文件夹中生成的生成的index.html页面。查看那些不在“网页”中的内容。根据您向我们展示的网页集成脚本,它不使用swfObject。

这里是Flex 4默认HTML模板:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<!-- saved from url=(0014)about:internet --> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    <!-- 
    Smart developers always View Source. 

    This application was built using Adobe Flex, an open source framework 
    for building rich Internet applications that get delivered via the 
    Flash Player or to desktops via Adobe AIR. 

    Learn more about Flex at http://flex.org 
    // --> 
    <head> 
     <title>${title}</title>   
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <!-- Include CSS to eliminate any default margins/padding and set the height of the html element and 
      the body element to 100%, because Firefox, or any Gecko based browser, interprets percentage as 
      the percentage of the height of its parent container, which has to be set explicitly. Initially, 
      don't display flashContent div so it won't show if JavaScript disabled. 
     --> 
     <style type="text/css" media="screen"> 
      html, body { height:100%; } 
      body { margin:0; padding:0; overflow:auto; text-align:center; 
        background-color: ${bgcolor}; } 
      #flashContent { display:none; } 
     </style> 

     <!-- Enable Browser History by replacing useBrowserHistory tokens with two hyphens --> 
     <!-- BEGIN Browser History required section ${useBrowserHistory}> 
     <link rel="stylesheet" type="text/css" href="history/history.css" /> 
     <script type="text/javascript" src="history/history.js"></script> 
     <!${useBrowserHistory} END Browser History required section --> 

     <script type="text/javascript" src="swfobject.js"></script> 
     <script type="text/javascript"> 
      <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 
      var swfVersionStr = "${version_major}.${version_minor}.${version_revision}"; 
      <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. --> 
      var xiSwfUrlStr = "${expressInstallSwf}"; 
      var flashvars = {}; 
      var params = {}; 
      params.quality = "high"; 
      params.bgcolor = "${bgcolor}"; 
      params.allowscriptaccess = "sameDomain"; 
      params.allowfullscreen = "true"; 
      var attributes = {}; 
      attributes.id = "${application}"; 
      attributes.name = "${application}"; 
      attributes.align = "middle"; 
      swfobject.embedSWF(
       "${swf}.swf", "flashContent", 
       "${width}", "${height}", 
       swfVersionStr, xiSwfUrlStr, 
       flashvars, params, attributes); 
      <!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. --> 
      swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 
     </script> 
    </head> 
    <body> 
     <!-- SWFObject's dynamic embed method replaces this alternative HTML content with Flash content when enough 
      JavaScript and Flash plug-in support is available. The div is initially hidden so that it doesn't show 
      when JavaScript is disabled. 
     --> 
     <div id="flashContent"> 
      <p> 
       To view this page ensure that Adobe Flash Player version 
       ${version_major}.${version_minor}.${version_revision} or greater is installed. 
      </p> 
      <script type="text/javascript"> 
       var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://"); 
       document.write("<a href='http://www.adobe.com/go/getflashplayer'><img src='" 
           + pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>"); 
      </script> 
     </div> 

     <noscript> 
      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="${width}" height="${height}" id="${application}"> 
       <param name="movie" value="${swf}.swf" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="${bgcolor}" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
       <param name="allowFullScreen" value="true" /> 
       <!--[if !IE]>--> 
       <object type="application/x-shockwave-flash" data="${swf}.swf" width="${width}" height="${height}"> 
        <param name="quality" value="high" /> 
        <param name="bgcolor" value="${bgcolor}" /> 
        <param name="allowScriptAccess" value="sameDomain" /> 
        <param name="allowFullScreen" value="true" /> 
       <!--<![endif]--> 
       <!--[if gte IE 6]>--> 
        <p> 
         Either scripts and active content are not permitted to run or Adobe Flash Player version 
         ${version_major}.${version_minor}.${version_revision} or greater is not installed. 
        </p> 
       <!--<![endif]--> 
        <a href="http://www.adobe.com/go/getflashplayer"> 
         <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" /> 
        </a> 
       <!--[if !IE]>--> 
       </object> 
       <!--<![endif]--> 
      </object> 
     </noscript>  
    </body> 
</html> 
相关问题