星期三, 1月 02, 2008

flash player跨網域的問題 (flex3與flash cs3都適用)

今天花了一整天的時間在研究RSS,先是用flex3來寫RSS的簡易版閱讀器,完成後卻發現本機可以執行,一upload到網路後卻動彈不得了,原來是flash player跨網域的問題。

flash player要讀遠端的RSS資料(也就是載入一個遠端的XML),基本的解法,如是在不同子網域(如www.m-w.com.tw或npbp.m-w.com.tw),那就只需要在flash中寫一個System.security.allowDomain("*.m-w.com.tw")就可以了;若是不同的網域(如www.m-w.com.tw或www.edimax.com.tw那就需要寫一個crossDomain.xml(寫法可參考這),然後把這crossDomain.xml檔案放到提供資料的那一端才行,比如你想載入yahoo的RSS(就像這個),那你需要將crossDomain.xml這檔案放到yahoo的server中才可以。...............這怎麼可能呢?在作夢嗎?

我在想,這是不是flex3的限制,所以改採flash cs3也寫一個RSS的簡易版閱讀器,結果一樣,無法解決flash player跨網域的問題,有一篇在介紹flash player安全性的文章寫得很好,可以參考一下。

最後,想到了個方法,先用php將遠端yahoo的RSS讀進來,這不就是在本地端了嗎,然後再用flash去載入php不就解決了!沒錯,這就是正解,雖然很笨,但還是解決了(成品在師大師培處網站的左上方新聞區),看了網路上一些前輩們似乎也是用相同的方法來解決兩個不同網域的問題。

其實我想,應該有更高級一點的解法,flex3都可以支援wsdl直接轉換成as來用了,表示flex對於web service的支援性相當的好,RSS(XML)應該更不在話下,小弟才疏學淺,如果有哪位前輩通曉解決良方,望請指導一下囉!

星期六, 12月 01, 2007

Mac or Windows

今天在youTube看了很多Steve Jobs在WWDC 2007中介紹Mac新OS "Leopard "的功能,讓我又心動了很久,一直在視覺與程式間游移,總覺得作設計的好像就應該要用Mac才算是專業,但是很多的網路應用又的確是windows比較有彈性,我想那天我應該會先去買台Mac Mini來玩玩吧。

Apple WWDC 2007 (Safari)




Apple WWDC 2007 (iChat)


引用:
華盛頓後面的那個是微軟的執行長Steve Ballmer,人瘋瘋癲癲的
有關他的介紹http://en.wikipedia.org/wiki/Steve_Ballmer
有關他的影片http://www.youtube.com/watch?v=uB1DXm4vBgk
常常在公開的場合冷嘲熱諷有關Apple的產品
http://www.youtube.com/watch?v=C5oGaZIKYvo&feature=related
Phil用他的照片在這段影片講的是"I love my Mac"



Apple WWDC 2007 (Time Machine)


星期四, 9月 15, 2005

My blog is opening.

My blog is opening.