2008年3月11日 星期二

在Blogger加入自動播放的下拉選單Picasa網路相簿-新版本可預設播放最新相簿

上次貼了「在Blogger加入自動播放的下拉選單Picasa網路相簿」以後,獲得陌生網友的回應感謝,真是奇妙,竟然也有人找來這。呵呵~
前幾天發現高手針對「自動播放的下拉選單Picasa網路相簿」的code做了更新,現在可以預設播放最新相簿。
不過這次好像也留一手(?我亂說的),沒辦法直接取用,只好偷進人家家裡看看網頁原始檔,再一行一行整理。
把下面這段碼中所有「你的Google帳號放這」改成你的英數字Google帳號,即可享用。

====以下Code====
<div id="picasaweb">
</div>
<script>
var flashstring='<embed pluginspage="http://www.macromedia.com/go/getflashplayer" width="288" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" height="192" flashvars="host=picasaweb.google.com&captions=1&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F你的Google帳號放這%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/data/feed/base/user/你的Google帳號放這?kind=album&amp;hl=en_US&amp;access=public&amp;alt=json&amp;callback=listallalbum"></script>

====以上Code====

版權及功勞歸高手所有,我只是取用後整理一下,以免搞丟或忘記。

<補充>
一樣,登入Blogger,到「版面配置」頁加入「HTML/JavaScript」類的「網頁元素」,把改好的碼貼入,然後取個標題、決定位置,新版本下拉選單式輪播相簿便完成了。會預設播放最新相簿喔~

5 則留言:

  1. 網誌管理員已經移除這則留言。

    回覆刪除
  2. 網誌管理員已經移除這則留言。

    回覆刪除
  3. 網誌管理員已經移除這則留言。

    回覆刪除
  4. 請問下拉選單的部份可以更改長度嗎? 另外,像你一樣要加「目前播放」,要加再哪裡ㄌㄟ? 謝謝

    回覆刪除
  5. 我找到「目前播放」要放哪了~ 是我眼睛托窗沒看到~ 不過這新的code是只能預設放最新相簿嗎? 因為我還是用你舊的code,可以自設播放相簿啦~ 對了~那個下拉選單的部份可以更改長度嗎? 我還是想改...

    回覆刪除