星期日, 9月 27, 2009

AS3:讓Flash按鈕可以直接在Twitter開新主題

想要讓Flash的動畫按鈕可以在按下去以後,直接就在Twitter開立新的主題,目前我的作法是讓Flash呼叫Javascript的Function來達到這個功能。首先是Flash的程式部份:
import flash.external.ExternalInterface;
import flash.external.*;
shareFashion.tt_btn.addEventListener(MouseEvent.CLICK, clickTwitter);
function clickTwitter(e:MouseEvent):void
{
ExternalInterface.call("addMoreFashion"); 
//呼叫Javascript中的「addMoreFashion」程式
}
Flash會呼叫一支名為「addMoreFashion」的javascript程式(當然,你也可以改成其它的名字,只要能相互對應就好。)。接下來就是在html中加上Javascript程式,讓Flash呼叫用的:
<script language="JavaScript">
<!--
function addMoreFashion()
{
window.location=void(window.open('http://twitter.com/home/?status='.concat(encodeURIComponent(location.href)) .concat('').concat(encodeURIComponent('新標題名稱'))));
window.location = 'fashion.htm'
}
// -->
</script>
其中,「新標題名稱」就是開建立標題後會顯示什麼字在上面;「fashion.htm」則是這支javascript所在的網頁名稱。

目前這個方法有個缺點,在於「fashion.htm」只能使用UTF-8編碼,否則在中文顯示上會出現問題。

2 則留言:

Smile Kirsten 提到...

那請問一下,facebook跟plurk也是這樣的做法嗎

perr 提到...

原理一樣~但它們的格式都不一樣!像Facebook不理會指定的主題與文字,而是採用連結網站上的資訊來分享主題!
Flash的部份只管呼叫Javascript的功能來「執行」某個動作,所以你也必須修改Javascript。