错误(新):
No Error, but display undefined;cppar=1&EmailURLVariable=aa@aa.com
代码(更新x3) -
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
var EmailFlashVariable = 'aa@aa.com'
var url:String = root.loaderInfo.parameters.clickTAG + ';cppar=1&EmailURLVariable=' + EmailFlashVariable
var url_request:URLRequest = new URLRequest(url)
mcButton.addEventListener(MouseEvent.CLICK, ADFclicked)
function ADFclicked(event:MouseEvent) {
navigateToURL(url_request, '_blank')
我添加了
<param name="flashvars" value="clickTAG=http://www.freescoreonline.com">
在生成的HTML中
答案 0 :(得分:0)
您拼错navigateToUrl
错误,区分大小写:navigateToURL
(请查看导入是否正确)
您尚未在任何地方定义getParameter
(您已经展示过),或许您在此处要做的是loaderInfo.parameters.clickTAG
而不是getParameter("clickTAG")
?
以这种方式试一试,看看它是否有效:
navigateToURL(new URLRequest(root.loaderInfo.parameters.clickTAG + ";cppar=1&EmailURLVariable=" + EmailFlashVariable));
如果undefined
的结果仍然是root.loaderInfo.parameters.clickTAG
,那么您可能会错误拼写clickTAG,或者参数未正确传递给swf。
另一种方法可以尝试直接从页面的url获取参数(因为你没有显示你的html源代码,所以不可能知道如何解决你的问题)。
import flash.external.ExternalInterface;
var fullUrl:String = ExternalInterface.call("window.location.href.toString");
var vars:URLVariables = new URLVariables(fullUrl.substr(fullUrl.lastIndexOf("?") + 1)); //the substring grabs only everything right of the ? in the url
navigateToURL(new URLRequest(vars.clickTAG + ";cppar=1&EmailURLVariable=" + EmailFlashVariable));
答案 1 :(得分:0)
要在html页面中显示你的swf,我们通常会使用这样的代码(你当然可以修改它,它是由Flash生成的):
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400">
<param name="movie" value="banner.swf">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="clickTAG=http://www.example.com">
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="banner.swf" width="550" height="400">
<param name="movie" value="banner.swf">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="clickTAG=http://www.example.com">
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<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>
您可以在此处看到我使用flashvars
将params传递给我们的swf文件(banner.swf
),如果您有能力banner.swf?clickTAG=http://www.example.com
,建议您执行此操作而不是flashvars
{1}}当然。
在AS3中,要获得flashvars
或?param=value
传递的参数,我们会这样做:root.loaderInfo.parameters.param
。在您的情况下,您可以执行以下操作:
import flash.events.MouseEvent
import flash.net.URLRequest
var EmailFlashVariable:String = 'aa@aa.com'
var url:String = root.loaderInfo.parameters.clickTAG + ';cppar=1&EmailURLVariable=' + EmailFlashVariable
var url_request:URLRequest = new URLRequest(url)
button.addEventListener(MouseEvent.CLICK, ADFclicked)
function ADFclicked(event:MouseEvent) {
navigateToURL(url_request, '_blank')
}
我希望现在很清楚,请尽量解释您的问题并提供其他人的所有详细信息以帮助您。
对于flashVars,请查看此处swfs flashVars (by Adobe),并在此处获取非常好的教程,以便更好地了解AS3 flashVars。