Search

4/24/2007

flickr viewer

http://kitty.2y.idv.tw/~chfang/flickr.htm
優點: 可以看到個人所有的照片,spinner.gif很可愛。
第一個ajax application出爐,利用flickr的open API: flickr.people.getPublicPhotos取得所有的照片並且列出,這麼做的原因主要是flickr非付費的會員只能display出來200張照片,另外想做的是把這個東西做成一個greasemonkey script,遇到阻礙的地方有幾個:1)一開始不會parse傳回來的REST,後來google一下用getAttribute搞定。 2)超出範圍的地方就是proxy.php了,範例是從這邊抄來的,因為javascript因為安全問題所以有same origin policy,非得用proxy.php過一次水不可。3)輸入的地方可以輸入user name,所以必須用另外一個flickr API:flickr.people.findByUsername取得user的nsid,如果兩個都是非同步,可能還沒傳回nsid之前就會呼叫flickr.people.getPublicPhotos,解法我不太清楚,我想一想有兩個方法,一個隔一段時間去polling是否有傳回來了,如果有再繼續呼叫另外一個api,第二個方法就是讓 flickr.people.findByUsername 設成同步呼叫,也就是第三個參數設成false,flickr.people.getPublicPhotos第三個參數社成true,這樣看起來是會work的。

還有一些零零碎碎的小問題,像是自動產生下面的分頁按鈕,可是又不想每次都呼叫兩次api,記錄在global variable又抓不到值。

還有一些要改進的地方,1)學gmail可以回上一頁,大部分的ajax一按上一頁就會破功,這個好像比較難,2)可愛的spinner會頓,按下search之後會頓一下,跑的時候也會頓頓的。3)讓使用者可以選擇要出現的圖形大小,這個是不難,只是要排得整整齊齊的就比較難了。

沒有留言: