2010-02-11 36 views
1

我是一位c#asp.net开发人员,需要实现一些flash网站横幅。以前对于静态图像横幅,我已经实现了on_click后面的代码或javascript来记录横幅已被点击回数据库并处理重定向。实现Flash网站横幅的最佳方式

我没有太多关于flash的知识,除了我知道flash程序可以处理程序的点击事件。

因此,有人可以建议捕捉和处理网页上Flash对象的点击事件的最佳解决方案。

非常感谢,

亚当

+0

我会采取这些家伙的代码。但仍然会在闪光灯中为横幅制作包装。这样你就可以通过_root/root来引用它的函数,并且你可以使用这个包装器来与javascript通信。它只是更容易维护... – 2010-02-11 14:28:52

回答

1

你可以跟闪存通过Mootools的Swiff组件使用JavaScript对象: http://mootools.net/blog/2008/02/12/whats-new-in-12-swiff/ http://mootools.net/docs/core/Utilities/Swiff

然而,对于像点击横幅简单的事情,你可以需要swfobject: http://code.google.com/p/swfobject/

一个体面的但简单的XML驱动的Fla sh横幅旋转器可以免费在这里: http://www.weberdesignlabs.com/blog/2008/06/open-source-xml-free-flash-banner/

希望帮助!

+0

谢谢purefusion,我认为swfobject和ExternalInterface.Call()动作方法的组合似乎是前进的方式,这样我可以让Flash程序将点击事件传递给我自己定义了js函数。测试仍在进行中! :) – 2010-02-15 21:53:38

0

您可以通过多种方式与Flash和服务器端代码进行通信。

1)使用JavaScript从您的SWF文件传达给/和其页面中嵌入。 http://kb2.adobe.com/cps/156/tn_15683.html

这可以用AJAX组合将数据发送到服务器。

2)内的Flash http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001790.html

var submitListener:Object = new Object(); 
submitListener.click = function(evt:Object) { 
    var result_lv:LoadVars = new LoadVars(); 
    result_lv.onLoad = function(success:Boolean) { 
    if (success) { 
     result_ta.text = result_lv.welcomeMessage; 
    } else { 
     result_ta.text = "Error connecting to server."; 
    } 
    }; 
    var send_lv:LoadVars = new LoadVars(); 
    send_lv.name = name_ti.text; 
    send_lv.sendAndLoad("http://www.flash-mx.com/mm/greeting.cfm", result_lv, "POST"); 
}; 
submit_button.addEventListener("click", submitListener); 

直接变量发送到服务器端文件(使用GET或POST),你可以有一个服务器端页面(ASP.NET,PHP等.. )来增加数据库命中数。