作者:刘毅
因为工作需要,越来越多的FLASH网站希望有深度连接的功能,所以写了这个类
。如果你正好需要可以随便拿去用,如果有什么更好的点子也可以告诉我。
更新日期:2010/10/29;version:1.1
更新日志:清除了JS init(id,delay)里多余的delay参数,在AS端增加了一个init()的方法;解决了再某些时候FLASH加载慢导致第一次加载无法加载正确页面的BUG。现在没有BUG了。
我做了两个例子来说明怎么用的先贴地址:
例子1:http://www.ourbrander.com/p/deeplink/example/example.html
例子2:http://www.ourbrander.com/p/deeplink/example/example2.html
使用方法:
一、HTML部分
1,首先需要将ourbrander.deeplink.js拷贝到网站的目录里,并嵌入到FLASH所在的HTML里;
2,用SWFObject嵌入SWF,也可以不用,自己爱好;
3,初始化deeplink JS对象,html这边的工作就完成了。具体看下面的代码:
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/ourbrander.deeplink.js"></script>
<script type="text/javascript">
var flashvars = {};
var params = {wmode:"window",scale:"noScale",salign:"top",menu:"false",allowFullScreen:"true"};
var attributes = {name:"main",id:"main"};
swfobject.embedSWF("example1.swf", "flash_content", "800", "600", "10.0.0", "expressInstall.swf", flashvars, params, attributes,initDeeplink);
function initDeeplink(d){
var s=new deeplink();
s.init('main');
}
</script>
二,开始写FLASH里的代码吧:
4,导入DeepLink类,并初始化;
import com.ourbrander.deepLink.DeepLink;
var _deepLink=DeepLink.getInstance();
5,切换栏目使用_deeplink.navigateTo("/home/") ;
home_btn.click=function(){
_deeplink.navigateTo("/home/")
}
6,DeepLink侦听Event.CHANGE,根据锚点来做页面的切换逻辑;
_deeplink.addEventListener(Event.INIT, onLinkChanged)
_deeplink.addEventListener(Event.CHANGE, onLinkChanged)
private function onLinkChanged(e:Event){
//write your codes here.
}