如何将变量从 MySQL 传递到 SWF
How to pass variable from MySQL to SWF
我正在尝试通过网页将来自 MySQL 的 ssoTicket 传递到 SWF 文件中。
下面的代码在服务器日志中导致 null,但是当我设置匹配的 ssoTicket 时,一切正常。
网上好像资料比较少
我已经打印了 sso_ticket,它确实回显了正确的字符串。
页数
<?php
include("global.php");
if($islogged) { ?>
<?xml version=”1.0″?>
<html>
<head>
<title><?php echo $self['sso_ticket']; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<script src="js/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var flashvars = {
sso: "<?php echo $self['sso_ticket']; ?>"
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#FFFFFF"
};
var attributes = {
id:"E4"
};
swfobject.embedSWF("ac.swf", "altContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
<style>
html, body { height:100%; }
body { margin:0; }
</style>
</head>
<body>
<div id="altContent">
<p><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></p>
</div>
</body>
</html>
<?php
}
?>
SWF
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters["sso"];
带有预设 ssoTicket 的 SWF
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters["sso"];
if (ssoTicket == "" || ssoTicket == null) ssoTicket = "73a448e7e4a3314d2d1a3f33588df9b8";
您的 flashvars 应该是一组 name=value
对(由 &
分隔的对,目前您的示例中未使用,但以防您添加更多 flashvars)。
所以这样的事情会起作用:
<script type="text/javascript">
var flashvars = {};
flashvars.sso = "<?php echo $self['sso_ticket']; ?>";
var params = {};
var attributes = {};
swfobject.embedSWF("ac.swf", "myAlternativeContent", "800", "600", "9.0.0", false, flashvars, params, attributes);
</script>
swfobject 项目中有一个 html 生成器,您可以将所有值插入其中,它会生成静态或动态 html 代码,供您 cut/paste代码(swfobjectgen.html)。
那么这应该在您的 SWF 中工作以分配您的票 #:
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters.sso;
我正在尝试通过网页将来自 MySQL 的 ssoTicket 传递到 SWF 文件中。
下面的代码在服务器日志中导致 null,但是当我设置匹配的 ssoTicket 时,一切正常。
网上好像资料比较少
我已经打印了 sso_ticket,它确实回显了正确的字符串。
页数
<?php
include("global.php");
if($islogged) { ?>
<?xml version=”1.0″?>
<html>
<head>
<title><?php echo $self['sso_ticket']; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<script src="js/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var flashvars = {
sso: "<?php echo $self['sso_ticket']; ?>"
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#FFFFFF"
};
var attributes = {
id:"E4"
};
swfobject.embedSWF("ac.swf", "altContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
<style>
html, body { height:100%; }
body { margin:0; }
</style>
</head>
<body>
<div id="altContent">
<p><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></p>
</div>
</body>
</html>
<?php
}
?>
SWF
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters["sso"];
带有预设 ssoTicket 的 SWF
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters["sso"];
if (ssoTicket == "" || ssoTicket == null) ssoTicket = "73a448e7e4a3314d2d1a3f33588df9b8";
您的 flashvars 应该是一组 name=value
对(由 &
分隔的对,目前您的示例中未使用,但以防您添加更多 flashvars)。
所以这样的事情会起作用:
<script type="text/javascript">
var flashvars = {};
flashvars.sso = "<?php echo $self['sso_ticket']; ?>";
var params = {};
var attributes = {};
swfobject.embedSWF("ac.swf", "myAlternativeContent", "800", "600", "9.0.0", false, flashvars, params, attributes);
</script>
swfobject 项目中有一个 html 生成器,您可以将所有值插入其中,它会生成静态或动态 html 代码,供您 cut/paste代码(swfobjectgen.html)。
那么这应该在您的 SWF 中工作以分配您的票 #:
var ssoTicket:String = LoaderInfo(this.root.loaderInfo).parameters.sso;