我正在嘗試複製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); }
}
}
我希望幫助。如果您有關於代碼的問題,請告訴我。