我遇到的情况是我有一个访客到达带有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脚本放入。
你能看到我出错的地方吗?
谢谢。
答案 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类。