我们都知道可以为脸书制作一个分享按钮,允许用户分享任何项目。但是当我们被定向到该页面时,用户有两个选择。按“取消”按钮当然会关闭窗口,或按“共享”按钮,然后将项目添加到人员墙上。
我要做的是确定是否已按下该分享按钮。看,因为当他们按下它时,我希望我的瑞士法郎找出一条消息,说“感谢分享我的项目”
虽然我可以将它们重定向到页面但我无法知道他们是否共享它。我的想法是使用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 :(得分: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')
}
}
}