所谓深度链接(Deep linking)
是为那些非Html页面应用而给定的一种关于URL定位的描述。
例如,在一个网页里,如果有“Home”、“About Us”和“Contact”三个导航按钮,无论什么时候点击它们,都会定向到一个独立的URL,譬如http://www.xxxx.com/index.html、http://www.xxxx.com/contact.html。这样的好处是,你可以为你感兴趣的页面添加书签或者发给你的朋友。否则,你只能发送这个地址 www.xxxx.com 给你的朋友,然后告诉他如何才能进入到Contact页面(注:前者可以一步到位到http://www.xxxx.com/contact.html,后者只能先进入http://www.xxxx.com然后再进入到Contact页面)。
在Flash应用程序里,当你不使用深度链接(Deep Linking)时,就像上述的第二种情况一样,你不能为指定的状态(state)添加书签,没有Contact页的URL可以发给你的好友。
深度链接(Deep Linking)可以解决这个问题并且支持浏览器的后退按钮。
一般深度链接是通过php程序或js来实现。
需要使用深度链接的程序有:Flash应用程序,Flex应用程序,Ajax应用程序等
我所采用的是js库--SWFAddress 可从下面官网下载相关文件。
官网: http://www.asual.com/swfaddress/
下面我们一步一步做下去吧。
1、在嵌入SWF文件的Html页面布署swfaddress.js
注:嵌入SWF的方法是我上篇文章中介绍的SWFObject2.2中的静态发表法。
2、 修改flash源码,嵌入swfaddress中的actionscript文件
这是整个创建深度链接的核心。
基本的实现方法是:当嵌入swf文件的html页面加载完后,点击flash中某按钮,当前URL会有作改变,“#”是一个区分点。
图1:嵌入swf的html页面加载后
图2、点击按钮后,改变了URL,title
我给main.fla使用了文档类(Document),看代码吧
Document.as
我将在《深度链接(Deep linking)--2》这篇文章中着重分析上述as文件。