2012-01-05 81 views
3

如何使我自己的部件就像Facebook一樣? https://developers.facebook.com/docs/guides/web/#plugins如何讓自定義小部件像facebook社交插件?

基本上它有點javascript,css和html代碼,但怎麼做呢? 任何示例,教程?

+0

你的意思是你如何通過javascript提供html?你會在本地的方式相同。 – 2012-01-05 01:13:23

+0

只需像使用HTML,CSS和JS一樣對代碼部件進行代碼編寫,然後使用iframe將代碼嵌入到其他頁面中,或者使用JS通過Ajax獲取數據並追加'style'和'script'元素您的小部件需要使用該小部件的頁面。 – powerbuoy 2012-01-05 06:12:11

回答

-1

您可以使用Facebook Javascript SDK來完成此操作(請參閱https://developers.facebook.com/docs/reference/javascript/)。您需要了解您可以從Javascript SDK中查詢的Graph API(請參閱https://developers.facebook.com/docs/reference/api/)。在Facebook的文檔中,有大量的示例代碼。玩的開心!

+0

嗨,DMCS我不是說如何使用Facebook小部件,但創建自己的像Facebook一樣的自定義小部件已經做到了:) – 001 2012-01-06 10:10:43

+0

是的,這些鏈接會讓你到那裏。快樂的編碼! – DMCS 2012-01-06 15:21:19

+0

這將創建一個Facebook小部件,我想創建我自己的小部件不是一個Facebook小部件。 – 001 2012-01-08 03:38:21

6

我強烈建議Third Party Javascript (Manning)來自Disqus的夥計們可以對一切進行全面的瞭解。雖然它不會爲您的SDK/Widget製作提供魔術彈頭解決方案,但它會幫助您隨時隨地獲得防彈功能。這是一個很好的參考資料,如果簡短,並且代碼絕對不適合JavaScript初學者。

至於Facebook的是怎麼做的,雖然它不能完全描述他們的iframe中/小工具的方法,這說明他們是如何做到防彈在非標準的網頁上嵌入:​​

對於額外的獎勵積分,結合這與http://www.phpied.com/non-onload-blocking-async-js/和它應該擺脫除iOS 6以外的所有加載微調,如果內存爲我服務。

對於更高級的iframe樂趣,請參閱https://github.com/benvinegar/seamless-talk以及其他任何幻燈片/帖子http://benv.ca/。 (我想我有一天會想見見Ben,因爲他最近從他那裏借了多少東西,而且他是加拿大的同伴開機。)

請注意,作爲原生瀏覽器概念的無縫iframe ,僅限於webkit和bug:https://bugs.webkit.org/show_bug.cgi?id=99289(在Firefox上,dev由於11年前的bug而停止?https://bugzilla.mozilla.org/show_bug.cgi?id=631218)因此,在可預見的未來,iframe自定義將需要JavaScript。 :)

+1

我還可以注意到,在未來,我懷疑我們都將使用HTML5 Web Components來實現這種功能,儘管目前本地實現的內容遠不及其中。最近我一直在dart的web_ui上羨慕不已...... – 2013-06-17 14:08:48

+0

你發佈的鏈接對我真的有幫助,你有沒有更多? – stephenmurdoch 2013-09-12 20:25:13

+1

@marflar我可以通過說「easyXDM」使IE6-7中的postMessage風格的iframe到父代通信成爲可能,但如果可以幫助它,請嘗試設計您的小部件,以便平穩地回退到靜態iframe內容因爲easyXDM的加載成本太高(以比特爲單位)。爲了實現真正的隔離+速度,請考慮父頁面中無src的iframe,它可以跨頁面嵌入的「視圖」類iframe加載和管理所有小部件操作(如G +),並且如果可能的話嘗試使用現代JS框架,如Angular.js 。 – 2013-09-13 14:49:38