在Flash视频结束时添加动态消息

时间:2011-04-04 18:24:56

标签: asp.net vb.net flash

我正在制作Flash培训视频。我希望在视频结束时弹出一个包含动态确认代码的消息。我有确认代码的代码,但是在flash视频结束时或在aspx页面内创建某些内容时无法触发此消息。任何有关如何解决这个问题的想法或想法都将非常感激。

谢谢。

1 个答案:

答案 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电影,但可以访问页面。