2010-11-15 6 views
0

J'utilise swfobject.js à déployer charger mon applet flexible. Malheureusement, bien que je puisse exécuter/déboguer dans Firefox via Flash Builder, je ne peux pas accéder à l'applet déployée via son URL - l'applet ne charge pas/ne démarre pas. Je peux accéder à l'applet déployée via son URL depuis IE 8 et Chrome 7. Quel est le problème qui pourrait être à l'origine de ce problème dans Firefox? Voici le code swfobject et la balise objet produit:SWF déployé non accessible dans Firefox

<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

Pouvez-vous inclure votre code swfobject aussi? –

Répondre

0

J'utilise swfobject.js pour déployer mon applet flex

SWObject.js est un fichier JavaScript; et les fichiers JavaScript ne sont que du texte. Pour "déployer" une application Flex, cela signifie généralement exporter une version de publication, puis déplacer tous les fichiers de votre machine de développement vers une machine de production.

Il n'y a aucun moyen de "déployer" quoi que ce soit avec swObject.js.

La plupart des utilisateurs exportent une version validée à l'aide de Flash Builder (ou d'un autre outil), puis la téléchargent sur la machine de production via FTP ou via un réseau.

Vous pouvez déployer votre application avec du JavaScript et d'autres fichiers HTML, y compris swfObject.js. Si c'est le cas, je vous suggère fortement de regarder la page index.html générée générée dans votre dossier 'release build'. Voir ce qui est différent là-bas qui n'est pas dans votre "page Web". Basé sur ce que vous nous avez montré de votre script d'intégration de page Web, il n'utilise pas swfObject.

Voici le Flex 4 HTML par défaut Modèle:

<!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> 
Questions connexes