Flash全站的技術(shù)應(yīng)用系列: (一)AS+JS的Flash網(wǎng)站無刷新定位技術(shù) (二)Flash網(wǎng)站的SEO (三)Flash網(wǎng)站的流量統(tǒng)計 (四)讓Flash網(wǎng)站具有IE前進后退的功能 (本文) (五)圖片輪換效果
前言:
寫完流量統(tǒng)計的教程以后,本以為會很輕松地就可以完成該篇文章。后來才發(fā)現(xiàn),原來還是遇到了困難。因為要通過iframe控制主HTML的變量,一開始,考慮到打開父窗口用的是_parent,而Flash里的父級也是_parent,于是理所當然地以為iframe訪問主html也是通過_parent,結(jié)果,弄了很久,還是提示_parent未定義。 為此,我百度了下,看如何通過iframe訪問主html。暈,原來這個是沒有下劃線的,于是改了下,發(fā)現(xiàn)有新的問題,就是提示“沒有權(quán)限”的錯誤。在之前玩反編譯的游戲中遇到了這個問題,是跨域訪問導致的。奇怪了,我的文件都在本地啊,怎么不行呢?折磨了半小時,決定還是用IIS來測試吧。嗯,IIS成功了。難道file協(xié)議也沒有權(quán)限?還是識別不了域名?這個我就沒研究下去了。
效果預覽(應(yīng)wolf2999的要求,這次我就不放超女的東西上去了,而且我網(wǎng)站現(xiàn)在加這功能還有點麻煩,因為結(jié)構(gòu)有點復雜: http://hbro.cincn.com/hbro/cours ... ex_flash.html#page1
點左邊一排的按鈕,你會發(fā)現(xiàn)在動畫效果跳轉(zhuǎn)的過程中,地址欄發(fā)生了改變,但是明顯的是Flash沒有刷新,同時后退按鈕已經(jīng)可用。你多點幾次以后,嘗試按后退按鈕,F(xiàn)lash也同樣不刷新,但是它會依此通過動畫跳轉(zhuǎn)到你之前點過的page。 這樣,就是通過IE的按鈕控制Flash的程序了。但是,實質(zhì)上,是有個iframe在刷新的,所以,如果網(wǎng)速慢,并且點得很快,就將導致某些頁面給跳過。
實現(xiàn)原理:
找了很多方面的資料,本來想向IE的歷史記錄里人為添加asfunction協(xié)議的地址,但是發(fā)現(xiàn)似乎不可能,在Digi的提點下,我知道了可以通過刷新iframe來達到控制的目的。其過程為:
- 在Flash里點擊一個所謂的鏈接,執(zhí)行一個動作。該狀態(tài)的一些參數(shù)用getURL到iframe里的一個固定頁面。比如說,我點了page1,那么getURL的地址將是statistics.html?page1
- 點擊幾次以后,iframe其實已經(jīng)刷新了幾次,于是才會啟用后退的功能,這個時候,其實iframe已經(jīng)打開過了幾個頁面,假如你依此點了page1,page2,page3,page4這四個按鈕,那么,iframe就瀏覽了statistics.html?page1,statistics.html?page2,statistics.html?page3,statistics.html?page4這四個頁面了。最終定位在statistics.html?page4
- 此時點IE的后退按鈕,iframe將返回statistics.html?page3。但是單純這樣并不會讓Flash受到控制。所以,我們需要在statistics.html打開的時候,啟用一個控制Flash的函數(shù),就實現(xiàn)IE后退的功能了。前進的道理也一樣。
出處:藍色理想
責任編輯:moby
上一頁 下一頁 讓Flash網(wǎng)站具有IE前進后退功能 [2]
◎進入論壇Flash專欄版塊參加討論
|