据此,笔者开始写简单演示文档的制作过程。
1. 新建一FLASH文档,保存为main.fla
2. 然后,在FLASH里创建四帧,四个均为关键帧, 第一帧为空,写入代码stop(); 第二帧放入静态文本Page 1,帧标签为page1, 第三帧放入静态文本Page 2,帧标签为page2, 第四帧放入静态文本Page 3,帧标签为page3,
3. 插入一图层,放在最底,里头放上三个按钮。分别写上
on(release){ gotoAndStop("page1")//跳转到指定的帧标签 fscommand("setAddress","page1")//这是个FSCOMMAND命令,让FLASH去调用JS函数,函数将在JS里定义。 }
on(release){ gotoAndStop("page2") fscommand("setAddress","page2") }
on(release){ gotoAndStop("page3") fscommand("setAddress","page3") }
4. 文件保存后,按照刚才姆椒ǚ⒉家桓龃鳩SCOMMAND跟踪的HTML文件。之后,建议在格式选项卡里把HTML选项的勾去掉。为了防止大意时,以后HTML文件手动加入的代码给覆盖掉。
5. 用记事本打开main.html文件,找到//place your code here(代码放在此处),在这里输入:
if(command=="setAddress"){ document.location.hash=args//获得FLASH中FSCOMMAND传出的参数,并赋值给hash值,让地址栏在无刷新的情况下发生改变 }
6. 测试HTML文件,可以看到点按钮之后,地址栏发生了改变。但是刷新页面后,FLASH显示的还是第一帧,因为在刷新页面的时候,没有一个命令让FLASH的页面发生跳转
7. 为此,在main_DoFSCommand函数下面定义一个控制跳转的函数:
function setFlashPos(){ main.TGotoLabel("_root",document.location.hash.slice(1))//让Flash跳转到地址栏#后面内容的标签名,之所以用slice(1),是因为JS读取出来的值是包含#的。所以要用slice(1)把#去掉。http://www.zhugao.cn/info/news_show.asp?id=214 有介绍TGotoLabel的用法。 }
8. 让刷新页面或者打开页面时调用该代码,就在body标签里加入onload=setFlashPos() 此时测试,就可以实现全FLASH站的无刷新地址跳转,达到FLASH站定位的目的了。
经典论坛讨论: http://bbs.blueidea.com/thread-2668305-1-1.html
Flash全站的技术应用系列: (一)AS+JS的Flash网站无刷新定位技术 (本文) (二)Flash网站的SEO (三)Flash网站的流量统计 (四)让Flash网站具有IE前进后退的功能 (五)图片轮换效果
出处:蓝色理想
责任编辑:moby
上一页 AS+JS的Flash网站无刷新定位技术 [2] 下一页
◎进入论坛Flash专栏版块参加讨论
|