2010年10月10日 星期日

Blogger加入內嵌Picasa相簿輪播(Picasa Flash播放選台器)

我現在還不太會用Blogger...
因為它的小工具裡的投影片只能指定一個相簿做投影片, 很不方便
於是我很努力地google, 總算找到一位高手寫的一個flash播放選台器
完全是我想要的功能: 預設顯示第一個相簿, 且可以手動選擇相簿
but...這位高手後來有改程式碼, 所以在它的文章上面的程式碼是有缺的><
我大概搞了1個多小時吧...才發現網頁原始碼那裡看的到成品的原始碼
後來總算是成功了

差異是要加一行 if(i==0){ firstlink=link; },它才會預設顯示最新的相簿...

我把整個完整的原始碼貼在下面做個備註...


程式碼如下, 紅字部份請改為自己的picasa user name...


<div id="picasaweb">
</div>
<script>
var flashstring='<embed pluginspage="http://www.macromedia.com/go/getflashplayer" width="288" src="http://picasaweb.google.com.tw/s/c/bin/slideshow.swf" height="192" flashvars="host=picasaweb.google.com.tw&captions=1&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com.tw%2Fdata%2Ffeed%2Fapi%2Fuser%2Feseycat4%2Falbumid%2F##ALBUMID##%3Fkind%3Dphoto%26alt%3Drss" type="application/x-shockwave-flash"></embed>';

function writeflash(albumid){
flashstring1=flashstring.replace("##ALBUMID##",albumid);
document.getElementById("picasaweb").innerHTML=flashstring1;
}

function listallalbum(json) {
var firstlink='';
var temp = '目前播放&#65306;<select onchange="writeflash(this.options[this.selectedIndex].value)">';
var sortentry=json.feed.entry;
for (var i=0, post; post = sortentry[i]; i++) {
var title = post.title.$t;

var link = post.link[2].href.replace(/(^.*albumid\/)(.*)(\?.*$)/g,"$2");
if(i==0){
firstlink=link;
}
temp += '<option value="'+link+'">'+title +'</option>';
}
temp+="</select>";
document.writeln(temp);
writeflash(firstlink);
}

</script>

<script src="http://picasaweb.google.com.tw/data/feed/base/user/eseycat4?kind=album&hl=en_US&access=public&alt=json&callback=listallalbum"></script>

沒有留言:

張貼留言