2011-10-24 62 views
0

我們都知道有可能爲臉書製作分享按鈕,讓用戶分享任何物品。但是當我們被引導到那個頁面時,用戶有兩個選擇。按下「取消」按鈕,當然關閉窗口,或者按下「共享」按鈕,然後將該項目添加到人員牆上。如何使用actionscript檢測「共享」?

我想要做的是確定是否已按下共享按鈕。看到因爲當他們按下它,我希望我的瑞士法郎追蹤到一條消息,說:「感謝分享我的物品」

雖然我可以重定向他們的網頁,我無法知道他們是否共享它。我的想法是使用enter_frame事件並嘗試查看是否有數據通過php發送。因爲多數民衆贊成在按下按鈕時會做什麼。但我沒有任何運氣做這項工作。

這是目前爲止的代碼。其教程作爲焦點在我的問題:

import flash.net.navigateToURL; import flash.net.URLVariables; import flash.net.URLRequest; import flash.net.URLRequestMethod; share_btn.addEventListener(MouseEvent.CLICK, shareClickHandler); function shareClickHandler(evt:MouseEvent):void {  var varsShare:URLVariables = new URLVariables();  varsShare.u = 'http://domain.com/pageN.html';  varsShare.t = 'Title Page';  var urlFacebookShare:URLRequest = new URLRequest('http://www.facebook.com/sharer.php');  urlFacebookShare.data = varsShare;  urlFacebookShare.method = URLRequestMethod.GET;  navigateToURL(urlFacebookShare, '_blank'); } 

回答

0

我使用靜態類共享。 看這個:

package shvyrev.com.utils 
{ 
    import flash.events.EventDispatcher; 
    import flash.external.ExternalInterface; 

    public class ShareUtil 
    { 
     static private var url:String; 
     static private var feedFunction:Function; 

     static public function shareFacebookExt(appID:String, title:String, titleLink:String, caption:String, description:String, imageSource:String, redirectUrl:String = '', feedBackFunction:Function = null):void 
     { 
      url = 'http://www.facebook.com/dialog/feed?app_id=' + appID + '&picture=' + imageSource + '&name=' + escape(title) + '&link=' + escape(titleLink) + '&caption=' + escape(caption) + '&description=' + escape(description) + '&display=' + 'popup' + '&redirect_uri=' + redirectUrl; 

      feedFunction = feedBackFunction; 

      try 
      { 
       if (redirectUrl !== '' && feedFunction !== null) ExternalInterface.call('confirmPost', handler_confirm); 
       ExternalInterface.call("window.open", url , "win", "height=400,width=580,toolbar=no,scrollbars=no"); 
      }catch (err:Error) 
      { 
       if (feedFunction !== null) feedFunction.call(null, 'facebook share unaviable'); 
      } 
     } 

     static private function handler_confirm():void 
     { 
      feedFunction.call(null, 'handler_confirm') 
     } 
    } 
}