Flash AS3,电影播放后的重定向 - 使用php驱动的查询字符串

时间:2010-09-16 00:48:52

标签: php flash actionscript-3 query-string

我遇到的情况是我有一个访客到达带有ID密钥的php页面。然后,他们导航到第2页,其中key id在querystring变量中携带。

即。 http://www.mysite.com?x=abcde12345

第2页上有一个flash视频 - 正在播放电影。一旦电影停止播放,我希望flash重定向到第3页 - 带来查询字符串,因为第3页需要使用查询字符串来查找数据库值。

我过去常常使用GetURL在旧闪存中使用它 - 但现在需要它在AS3中。我已经搜索了很长一段时间 - 我可以看到如何使用查询字符串重定向 - 但是看不到如何使用动态查询字符串重定向 - 而且当涉及到闪存时我很丢失。

有什么想法吗?

谢谢。

更新:我不确定我在哪里出错了。

这是我的HTML代码

<script>
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'); document.write('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"');
document.write('WIDTH="550" HEIGHT="400" id="movie" ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="Movie-test.swf">');
document.write(' <PARAM NAME=FlashVars VALUE="x='+toPage+'">');
document.write(' <PARAM NAME=quality VALUE=high>');
document.write(' <PARAM NAME=bgcolor VALUE=#FFFFFF>');

document.write('<EMBED src="Movie-test.swf"');
document.write('    FlashVars="x='+toPage+'"');
document.write('    bgcolor=#99CC33 WIDTH=550 HEIGHT=400 ');
document.write('    TYPE="application/x-shockwave-flash">');
document.write('  </EMBED>');
document.write(' </OBJECT>');
</script>

我的AS3代码

var params:Object = this.loaderInfo.parameters;
var id:String = params.x;

//then after the movie completes

function onComplete(event:Event):void
{
   var page3URL:String = "page2.php?" + "x=" +id;
   navigateToURL( new URLRequest( page3URL ) );
}

视频只是自行循环播放。

我得到的是第1层有电影,最多到第2993帧。我创建了第2层,在第2层 - 第2993帧,我插入了一个关键帧 - 并将上面的as3脚本放入。

你能看到我出错的地方吗?

谢谢。

3 个答案:

答案 0 :(得分:4)

var params:Object = this.loaderInfo.parameters;
var id:String = params.x;

//then after the movie completes

function onComplete(event:VideoEvent):void
{
   var page3URL:String = "http://example.com?" + "x=" +id;
   navigateToURL( new URLRequest( page3URL ) );
}

答案 1 :(得分:1)

您有两个选择:

<强> 1。使用flashvars将ID加载到闪存中。

这是http://www.permadi.com/tutorial/flashVars/index.html的啧啧 然后 var nexturl:URLRequest = new URLRequest(“http://www.domain.com/page3.php?id=”+ id); 的navigateToUrl(nexturl, “_自”);

<强> 2。从Flash内部调用Javascript函数

只需在HTML中创建一个小的重定向功能

function nextPage(){ }

并从闪光灯内部

var temp:Object = ExternalInterface.call(“nextPage”);

答案 2 :(得分:0)

我会使用php将ID密钥添加到Flashvars属性,然后使用

LoaderInfo(this.root.loaderInfo)
在Flash中提取它,然后将密钥附加到重定向字符串。

另请查看ExternalInterface类。