我正在尝试复制Youtube上的“在Facebook上共享”按钮的行为。基本上,在一个Flex应用程序中,我会有一个按钮,当我点击它时,我想要一个弹出窗口,让我可以在墙上张贴一些东西。如何将“分享到Facebook”按钮嵌入到Flex应用程序中?
虽然可以打电话给javascript打开弹出窗口,但我希望能够设置图片和我发布的文本。
你知道如何将图像或文本设置为共享窗口的参数吗?
谢谢!
我正在尝试复制Youtube上的“在Facebook上共享”按钮的行为。基本上,在一个Flex应用程序中,我会有一个按钮,当我点击它时,我想要一个弹出窗口,让我可以在墙上张贴一些东西。如何将“分享到Facebook”按钮嵌入到Flex应用程序中?
虽然可以打电话给javascript打开弹出窗口,但我希望能够设置图片和我发布的文本。
你知道如何将图像或文本设置为共享窗口的参数吗?
谢谢!
因为我明白你要求在访问facebook分享按钮的html页面中的js弹出窗口时有所帮助,所以你应该在这个casa中使用ExternalInterface并在你的js接口中使用getElementById函数访问需要的DOM节点。
在其他情况下,我想建议你读另外一个方式http://www.riaxe.com/blog/flex/publish-into-facebook-wall-from-flex/
这是非常简单的事情。 Youtube使用Facebook API弹出一个新窗口(Info on Facebook sharer API)。
要做到这一点的弯曲,
ExternalInterface.call("fbLink", "www.yahoo.com");
在HTML文件(最有可能的index.template.html)添加JavaScript方法, fbLink其执行以下操作:
功能fbLink(URL){ window.popup( “http://www.facebook.com/sharer.php?u=” + URL,{高度:440,宽度:620,滚动条:真}) }
现在,当用户点击按钮,他们将与facebook账户分享链接“yahoo.com”。
看来你想在Flash应用程序上有一个按钮,并且一旦点击它就会打开共享与单击按钮相关的视频/图像的Facebook页面。你要做的就是简单地创建上点击使用具有以下格式的份额API打开了一个新的网站,Facebook的按钮是什么:
var facebookShare:String = "http://www.facebook.com/share.php?u=' + encodedVideoLink + '&t='+ encodedVideoText";
在U参数代表你希望共享的链接, t参数代表你想分享的作品的标题,无论是图片还是视频。
您想在MouseEvent.CLICK上添加一个事件侦听器,该事件侦听器的回调函数有一个方法来处理如上所示的传递FacebookShare变量的Facebook页面的打开。要打开你的浏览器另一个页面,你可以使用这个AS3类叫做URLNavigator:http://www.danishmetal.dk/project/source/com/zorked/URLNavigator.as
概括起来,这些方针的东西会做:
var facebookShare:String = "http://www.facebook.com/share.php?u=' + encodedVideoLink + '&t='+ encodedVideoText";
facebookButton.addEventListener(MouseEvent.CLICK, this._goToUrl(facebookShare));
private function _goToUrl(link:String):Function {
var window:String = "_blank",
feats = "",
thisOverlay:Object = this; // to not lose scope when returning a func
return function (e:MouseEvent):void {
trace("Opening link to:"+link);
try { URLNavigator.ChangePage(link, window, feats); }
catch (e:Error) { trace("error launching "+link+" in "+window+" with feature set "+feats); }
}
}
我希望帮助。如果您有关于代码的问题,请告诉我。