據(jù)此,筆者開(kāi)始寫(xiě)簡(jiǎn)單演示文檔的制作過(guò)程。
1. 新建一FLASH文檔,保存為main.fla
2. 然后,在FLASH里創(chuàng)建四幀,四個(gè)均為關(guān)鍵幀, 第一幀為空,寫(xiě)入代碼stop(); 第二幀放入靜態(tài)文本Page 1,幀標(biāo)簽為page1, 第三幀放入靜態(tài)文本Page 2,幀標(biāo)簽為page2, 第四幀放入靜態(tài)文本Page 3,幀標(biāo)簽為page3,
3. 插入一圖層,放在最底,里頭放上三個(gè)按鈕。分別寫(xiě)上
on(release){ gotoAndStop("page1")//跳轉(zhuǎn)到指定的幀標(biāo)簽 fscommand("setAddress","page1")//這是個(gè)FSCOMMAND命令,讓FLASH去調(diào)用JS函數(shù),函數(shù)將在JS里定義。 }
on(release){ gotoAndStop("page2") fscommand("setAddress","page2") }
on(release){ gotoAndStop("page3") fscommand("setAddress","page3") }
4. 文件保存后,按照剛才姆椒ǚ⒉家桓齟鳩SCOMMAND跟蹤的HTML文件。之后,建議在格式選項(xiàng)卡里把HTML選項(xiàng)的勾去掉。為了防止大意時(shí),以后HTML文件手動(dòng)加入的代碼給覆蓋掉。
5. 用記事本打開(kāi)main.html文件,找到//place your code here(代碼放在此處),在這里輸入:
if(command=="setAddress"){ document.location.hash=args//獲得FLASH中FSCOMMAND傳出的參數(shù),并賦值給hash值,讓地址欄在無(wú)刷新的情況下發(fā)生改變 }
6. 測(cè)試HTML文件,可以看到點(diǎn)按鈕之后,地址欄發(fā)生了改變。但是刷新頁(yè)面后,F(xiàn)LASH顯示的還是第一幀,因?yàn)樵谒⑿马?yè)面的時(shí)候,沒(méi)有一個(gè)命令讓FLASH的頁(yè)面發(fā)生跳轉(zhuǎn)
7. 為此,在main_DoFSCommand函數(shù)下面定義一個(gè)控制跳轉(zhuǎn)的函數(shù):
function setFlashPos(){ main.TGotoLabel("_root",document.location.hash.slice(1))//讓Flash跳轉(zhuǎn)到地址欄#后面內(nèi)容的標(biāo)簽名,之所以用slice(1),是因?yàn)镴S讀取出來(lái)的值是包含#的。所以要用slice(1)把#去掉。http://www.zhugao.cn/info/news_show.asp?id=214 有介紹TGotoLabel的用法。 }
8. 讓刷新頁(yè)面或者打開(kāi)頁(yè)面時(shí)調(diào)用該代碼,就在body標(biāo)簽里加入onload=setFlashPos() 此時(shí)測(cè)試,就可以實(shí)現(xiàn)全FLASH站的無(wú)刷新地址跳轉(zhuǎn),達(dá)到FLASH站定位的目的了。
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2668305-1-1.html
Flash全站的技術(shù)應(yīng)用系列: (一)AS+JS的Flash網(wǎng)站無(wú)刷新定位技術(shù) (本文) (二)Flash網(wǎng)站的SEO (三)Flash網(wǎng)站的流量統(tǒng)計(jì) (四)讓Flash網(wǎng)站具有IE前進(jìn)后退的功能 (五)圖片輪換效果
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) AS+JS的Flash網(wǎng)站無(wú)刷新定位技術(shù) [2] 下一頁(yè)
◎進(jìn)入論壇Flash專欄版塊參加討論
|