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