php - 使用 flashvars 将 php 变量发送到 flash

标签 php javascript flash actionscript flashvars

我使用 swfobject 在 page.php?user=john 页面上嵌入了一个 Flash 播放器。播放器调用xml文件content.php来获取结果。我正在尝试从 url id 获取用户名。并据此获取结果。我可以通过执行 $_GET['user'] 获取 page.php 上的用户名,但如何将其传递给 content.php。在网上阅读了很多文章后,我做了以下事情,

我使用这样的 swfobject 将 Flash 嵌入到 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。所以它是未定义的。

最佳答案

像这样使用 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);

REFERENCE

关于php - 使用 flashvars 将 php 变量发送到 flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6223377/

相关文章:

javascript - 自动更新 URL 段的最简单方法是什么?

php - 使用 Laravel 在分组和平均时查询表

javascript - 如何在columnDefs数据表中动态设置 'targets'

javascript - 如何从 fetch :success event? 中获取这个集合

javascript - 从数据中呈现图形或图表的最佳 Javascript/Flash 框架是什么?

php - 重复 id 或其他记录的数组内的数组

php - 使用MySQL PHP PDO从数据库返回一个值

c# - 如何同时触发客户端和 MVC 验证?

html - 使用 wmode direct 定位嵌入

flash - 简单的OpenGL实现