我正在制作Flash培训视频。我希望在视频结束时弹出一个包含动态确认代码的消息。我有确认代码的代码,但是在flash视频结束时或在aspx页面内创建某些内容时无法触发此消息。任何有关如何解决这个问题的想法或想法都将非常感激。
谢谢。
答案 0 :(得分:0)
根据应用程序的目的,您可以执行任一操作。需要考虑的一件事是用户是否必须通过Flash视频来获取代码。如果是这样,您需要以用户无法欺骗他们获取代码的方式组织应用程序的流程。
理想的方法是在电影结尾处使用 flash 调用aspx页面来获取动态代码。这可以使用ActionScript 3.0中的URLLoader
或ActionScript 2.0中的LoadVars
来完成。
URLLoader
示例
//this is the data
var data = "This is data";
//url of your aspx code
var request:URLRequest = new URLRequest("http://www.yourdomain.com/GenerateCode.aspx");
request.contentType = "text/xml";
request.data = data;
//use POST method
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
try
{
//execute the request
loader.load(request);
}
catch (error:ArgumentError)
{
trace("There is an ArgumentError.");
}
LoadVars
示例:
//create LoadVars object
var lv_in:LoadVars = new LoadVars();
var lv_out:LoadVars = new LoadVars();
//set onLoad event
lv_in.onLoad = function(success:Boolean)
{
//if success, meaning data has received response from .net page, run this code
if (success)
{
//lv_in.status is use to get the posted data from .Net page
statusMsg.text = "Thank you!" + lv_in.status;
}
//if fail, run this code
else
{
statusMsg.text = "Error!";
}
}
//this is the data
lv_out.data = "This is data";
//begin invoke aspx page
lv_out.sendAndLoad("GenerateCode.aspx", lv_in, "POST");
还有另一种更简单的方法,但不是我应该说的最佳做法。更简单的方法是直接用户到aspx页面,该页面在用户完成flash影片后生成动态代码。负面的是,虽然用户没有完成flash电影,但可以访问页面。