Flash全站的技術(shù)應(yīng)用系列:
(一)AS+JS的Flash網(wǎng)站無刷新定位技術(shù)
(二)Flash網(wǎng)站的SEO(搜索引擎優(yōu)化)
(三)Flash網(wǎng)站的流量統(tǒng)計(jì) (本文)
(四)讓Flash網(wǎng)站具有IE前進(jìn)后退的功能
(五)圖片輪換效果
前言
前段時(shí)間發(fā)了兩篇Flash全站的技術(shù)應(yīng)用文章后,有部分網(wǎng)友提出說,叫我寫篇文章,闡述如何實(shí)現(xiàn)IE的前進(jìn)后退功能。但是這個(gè)并沒有在我的計(jì)劃之中,也沒有研究過。找了一堆關(guān)于堆棧歷史記錄的東西,很多都用了AJAX,看著頭暈,并且拷貝人家的代碼來運(yùn)行也實(shí)現(xiàn)不了。接著,還拿了2AD的JS來研究,總沒發(fā)現(xiàn)跟歷史記錄有關(guān)的東西,而且歷史記錄也沒保存到我的機(jī)器里。就算了,先把這文章寫出來。但是我在測試這個(gè)統(tǒng)計(jì)的時(shí)候,發(fā)現(xiàn)我的IE也能前進(jìn),后退,只是FLASH沒有作出響應(yīng)而已。
后來,經(jīng)過 Digi 的提點(diǎn)以后,竟然發(fā)現(xiàn),原來這個(gè)跟前進(jìn)后退是同一原理。于是就先把這個(gè)統(tǒng)計(jì)的寫出來,再順著把前進(jìn),后退的方法告訴大家。
一開始,想給自己的網(wǎng)站做個(gè)流量統(tǒng)計(jì),于是搜索教程,結(jié)果發(fā)現(xiàn),教程沒多少,那些免費(fèi)代碼卻一大堆。于是就注冊(cè)一個(gè)試試,發(fā)現(xiàn)人家的統(tǒng)計(jì)內(nèi)容很完整(特別是對(duì)那些流量低的網(wǎng)站),感覺自己寫也沒必要了。于是用了個(gè)http://www.#/提供的統(tǒng)計(jì)代碼。
這個(gè)統(tǒng)計(jì)代碼跟其它統(tǒng)計(jì)網(wǎng)站的代碼我看大同小異,先注冊(cè)了一個(gè)帳號(hào),然后網(wǎng)站會(huì)給你生成一段統(tǒng)計(jì)代碼,你把那段代碼放入你的網(wǎng)頁,當(dāng)且僅當(dāng)打開或者刷新該頁,這個(gè)代碼就會(huì)給你刷一次瀏覽量,如果有新IP登錄,則再刷一個(gè)IP。
所以,如果是FLASH全站,并且瀏覽過程不發(fā)生頁面跳轉(zhuǎn)的話,那么,瀏覽量(PV)就只刷了一次。另一方面,你也不知道訪客看了你的哪些頁面。曾在站長交流大廳里問過這問題,人家都回答說Flash無法統(tǒng)計(jì)。
自己經(jīng)過冥思苦想,終于在3秒鐘內(nèi)想出辦法了。用框架或者IFRAME,在Flash里通過getURL刷新別的框架或者iframe不就行了嗎?于是就有了思路。
效果預(yù)覽:
http://theartemis.cn/cindex.htm
你點(diǎn)了每一則新聞,統(tǒng)計(jì)代碼就刷新一次,請(qǐng)觀察狀態(tài)欄的變化,但是Flash就沒刷新。
PS:我這個(gè)人是比較不厚道的,有時(shí),比如現(xiàn)在這個(gè),放了統(tǒng)計(jì)代碼的頁面理論上是會(huì)顯示一個(gè)統(tǒng)計(jì)代碼的圖標(biāo),并且鏈接到提供統(tǒng)計(jì)服務(wù)的網(wǎng)站,而我就偏偏把它隱藏,不給它做廣告。也正因?yàn)槿绱?,前段時(shí)間遭到了一些BUG的影響,不能統(tǒng)計(jì)來源與搜索引擎的訪問量,使得我這個(gè)訪問量本來就不高的網(wǎng)站,日IP算出來只有30左右了。
如果這個(gè)看得不是很清楚,就看這個(gè)簡單的演示文檔:
http://theartemis.cn/hbro/cours ... cs/index_flash.html
你點(diǎn)了每一則新聞,統(tǒng)計(jì)代碼就刷新一次,但是Flash就沒刷新。
這次的制作可以用回我上一篇文章的演示文檔:
http://theartemis.cn/tech/multimedia/2006/3967.asp
如果你之前已經(jīng)做了的話,就可以接下來做了,否則,你就先按上面的文章把內(nèi)容做出來。
首先,本站的流量統(tǒng)計(jì)是結(jié)合免費(fèi)統(tǒng)計(jì)代碼的,所以大家先去申請(qǐng)一個(gè)統(tǒng)計(jì)帳號(hào)。我申請(qǐng)的地址是:http://www.#/
大家看下它那里的說明,稍微理解下它的統(tǒng)計(jì)原理。
接下來,我們就要把統(tǒng)計(jì)代碼安放在index_flash.html里頭了。但是,如果直接放在這個(gè)html文件里頭,就非要刷新頁面才能刷第二次PV。因此,我就用我上面所說的iframe辦法。所以,在當(dāng)前的html文件里頭的</body>標(biāo)簽加上:
<iframe noscroll border="0" src="statistics.html" width="80" height="80" name="stat" id="stat"></iframe>
新建一個(gè)HTML文檔,名為statistics.html,里頭置入統(tǒng)計(jì)代碼。
在常規(guī)HTML頁面里頭,是網(wǎng)頁打開的時(shí)候會(huì)統(tǒng)計(jì)一次PV,因此,在FLASH里模仿這一過程的話,就讓在HTML頁面被加載到FLASH的時(shí)候(此時(shí)觸發(fā)onLoad或者onData事件)刷新iframe里頭的statistics.html。于是,打開上次完成的index_flash.fla文件,在onData的函數(shù)里頭追加:
getURL("statistics.html","stat")//這樣就可以刷新iframe以達(dá)到統(tǒng)計(jì)的目的,但是又不刷新Flash。
此時(shí),刷PV的工作已經(jīng)完成。
然而,我用的統(tǒng)計(jì)代碼,是可以獲取瀏覽者看到哪些頁面的,對(duì)訪問量低的網(wǎng)站,像我那個(gè),這方面的信息就提供得特別的詳細(xì)。但是現(xiàn)在,都是清一色的statistics.html,看不到到底看到了哪個(gè)頁面,難道要一個(gè)頁面配一個(gè)統(tǒng)計(jì)代碼?答案是否定的。既然以前能通過參數(shù)來識(shí)別地址,這回也可以用啊。于是,getURL那句可以改為:
getURL("statistics.html?"+href, "stat");
這樣就可以看到訪客瀏覽那些頁面比較多了,從而發(fā)揮了統(tǒng)計(jì)代碼應(yīng)有的功能
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇