0

swfobject を使用してページ page.php?user=john に Flash Player を埋め込んでいます。プレーヤーは xml ファイル content.php を呼び出して結果を取得します。URL IDからユーザー名を取得しようとしています。それに基づいて結果を取得します。$_GET['user'] を実行して page.php でユーザー名を取得できますが、それを content.php に渡すにはどうすればよいですか。オンラインで記事の割り当てを読んだ後、私は次のことを行いました。

このようなswfobjectを使用してpage.phpにフラッシュを埋め込んでいます

<script type="text/javascript">
    var flashvars = {user:"<?php $_GET[user] ?>"};
    var so = new SWFObject("<?php echo $index->CFG['site']['url'];?>preview2.swf", "sotester", "1000", "400", "8", "#000000", flashvars);
    so.addParam("allowFullScreen", "true");
    so.addParam("scale", "noscale");
    so.addParam("menu", "false");
    so.write("flashcontent");
</script> 

私のAS2ファイルでは、ファイルの終わりは次のようになります

var paramList:Object = this.root.loaderInfo.parameters;
trace(paramList["user"])
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("contentp.php?user=" + user);

基本的に、$_GET['user'] を page.php から content.php を呼び出す SWF ファイルに渡そうとしています。その後、swf はその値を content.php に渡します。必要な情報はすべて提供したと思います。どんな助けでも大歓迎です。

PS: 私が今持っているように、コンソールを見ると、 Request URL:http://www.domain.com/content.php?user=undefined. したがって、それは未定義として来ています。

4

2 に答える 2

2

SWFObject v2.2 でこのように埋め込む

<html>
  <head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <script type="text/javascript" src="swfobject.js"></script>
  <script type="text/javascript">
    function loaded( ){
      var flashvars = { };
          flashvars.user = "<?php $_GET[user] ?>";

      var params = {};
          params.menu = "false";
          params.quality = "high";
          params.bgcolor = "#869ca7";
          params.allowFullScreen = "true";
          params.scale = "noscale";

      var attributes = {};
          attributes.id = "myFlashObject";
          attributes.name = "myFlashObject";
          attributes.align = "middle";
          attributes.allowFullScreen = "true";
          attributes.scale = "noscale";

      var tmp = "expressInstall.swf";
      var version = "8.0.0";
      var width = "1000";
      var height = "400";
      var container = "sotester"

      // verify the URL is correct
      var flashObj = "<?php echo $index->CFG['site']['url'];?>preview2.swf";

      swfobject.embedSWF(flashObj, container, width, height, version, tmp, flashvars, params, attributes);

    }
  </script>
  </head>
<body onLoad="loaded()">
  <div id="sotester">Loading Content... put alt. content here</div>
</body>
</html>



// in actionscript 3
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
var user: String = String( paramObj[user] );
trace( user );

[編集]

// in actionscript 2
// _level0 will have the global flashvar on it
// trace(user);

参照

于 2011-06-03T17:35:31.240 に答える
0

これを行うにはいくつかの方法があります。flashvarsを埋め込みswfに挿入する場合は、オブジェクトまたは埋め込みタグでflashvarプロパティを使用するだけです。

<param name="flashvars" value="uId=<?= $_GET['user'] ?>" />

これを行う別の方法は、FlashにuserId自体を取得させることです。flashはjavascriptを呼び出すことができるため、実際には次のように同じことを行うことができます。

if( ExternalInterface.available ) {
    ExternalInterface.call( "function() { return window.location.href; }" );
}

これにより、実際には完全なURL文字列がフラッシュ自体に返され、必要なすべての部分文字列操作を実行できます。

于 2011-06-03T06:46:05.537 に答える