4、 此時用記事本打開生成的index_flash.html,找到//代碼放在此處(Place your code here)這句,在index_flash_DoFSCommand函數(shù)里寫:
if(command=="setTitle"){ theTitle=args } if(command=="setAddress"){ document.location.hash=args }
然后,在該函數(shù)外定義一個設(shè)置標(biāo)題的函數(shù):
function setTitle(){ document.title=theTitle id=setTimeout(setTitle,1000) }
之所以使用周期回調(diào),不知道是不是BUG的緣故,經(jīng)常改完標(biāo)題后,都會自動改回來,或者多個#號什么的。 現(xiàn)在,還需要在加載后通過JS調(diào)用Flash的loadNews函數(shù)。在Flash 8控件里頭,可以通過CallFunction輕松調(diào)用函數(shù),AS3甚至通過ExternalInterface可以直接在JS里寫AS函數(shù),但是目前還有少數(shù)用戶的PLAYER處在7的階段,所以就先介紹老方法:setVariable。 該方法可以設(shè)FLASH控件的變量值,但是如何通過改變量觸發(fā)Flash的loadNews函數(shù)呢?這里介紹AS里頭的addProperty方法。 Object.addProperty(proname:String,getter:Function,setter:Function) proname,屬性名稱。 getter,當(dāng)讀取變量時調(diào)用的函數(shù)。 setter,當(dāng)設(shè)置變量時調(diào)用的函數(shù)。 我們通過添加一個這樣的屬性,讓JS的setVariable執(zhí)行的時候,調(diào)用該函數(shù)。 AS里追加:
this.addProperty("link",getLink,setLink) function getLink(){ } function setLink(link){ loadNews(link) }
不知道為什么,如果不定義getLink,這個setLink也不可用,所以只好把這形式弄上去。
所以,此時可以在JS里添加這么個函數(shù):
function JS_loadNews(){ if(document.location.hash.slice(1)!=""){//假如#號后面不帶參數(shù) index_flash.setVariable("link",document.location.hash.slice(1))//就設(shè)定FLASH里的link值,從而調(diào)用里頭的loadNews函數(shù)。 } }
然后在body標(biāo)簽里加onload=JS_loadNews() 此時,重定向到FLASH頁面,并且真實反映相關(guān)內(nèi)容的過程已經(jīng)完成。雖然本質(zhì)是一種作弊行為,但是已經(jīng)沒有欺騙用戶了。
最后,往百度提交index.html,就可以給百度收到4個頁面了。當(dāng)然,內(nèi)容要合法,否則也會給拒絕收錄。 至于如何提高排名,那是內(nèi)容的問題了,不是技術(shù)層面的東西,就不在這討論了。一般來說,META的關(guān)鍵字標(biāo)簽的合理使用,會對提高排名有一定的作用。
附:測試地址 http://hbro.cincn.com/hbro/course/FlashWebSEO/index.html http://hbro.cincn.com/hbro/course/FlashWebSEO/page1.html
經(jīng)典論壇討論: http://bbs.blueidea.com/viewthread.php?tid=2668685
Flash全站的技術(shù)應(yīng)用系列: (一)AS+JS的Flash網(wǎng)站無刷新定位技術(shù) (二)Flash網(wǎng)站的SEO (本文) (三)Flash網(wǎng)站的流量統(tǒng)計 (四)讓Flash網(wǎng)站具有IE前進(jìn)后退的功能 (五)圖片輪換效果
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 Flash 網(wǎng)站的 SEO [4] 下一頁
◎進(jìn)入論壇Flash專欄版塊參加討論
|