我的最終目標很簡單:角2 - 分享網頁URL,標題,描述和Facebook上
- 的用戶點擊UI的一些按鈕。
- 由
click
調用的Typescript函數在Facebook上爲用戶打開一個新的共享選項卡。 - 共享頁面的'標題'和'描述'均由我的網站提供。
我們有一篇關於在鏈接頁面上包含元標記的帖子,其中包含標題/說明(How do I customize Facebook's sharer.php)。問題是我使用的是Angular 2,所以我必須在Facebook看到它之前動態地爲頁面添加元標記。
我很難想象這是如何工作的,因爲我假設FB服務器會打我的NG2應用程序並搜索元標記(所以編輯元標記在瀏覽器中打開共享鏈接是沒有意義的,因爲FB API會得到不同的html實例)。
tl; dr:如何從NG2應用程序打開fb url共享對話框並提供標題/說明?
注意:'共享fb'頁面可以簡單地打開,像這樣: window.open('http://www.facebook.com/sharer/sharer.php?u=www.google.com');
這可以工作,但沒有params。
可選增編(示例代碼中動態地添加元標記,它的工作原理,但沒有幫助):
var titleMeta = document.createElement('meta');
var descMeta = document.createElement('meta');
titleMeta.setAttribute('property', 'og:title');
titleMeta.setAttribute('content', 'The Rock');
descMeta.setAttribute('property', 'og:description');
descMeta.setAttribute('content', 'Foo Description');
document.getElementsByTagName('head')[0].appendChild(titleMeta);
document.getElementsByTagName('head')[0].appendChild(descMeta);
附錄2:共享者用來讓你把在標題以及網址中的描述,但根據https://developers.facebook.com/x/bugs/357750474364812/已不再是這種情況。看起來它必須從元標記中拉出來。
你需要這些元標記添加到您要共享的實際頁面。在您發佈的鏈接中閱讀答案。 – Stuart
如果該頁面是角度2分量,我該如何做? – VSO
它並不重要。無論你在哪裏創建html頁面的實際頭部,這都是你添加元標記的地方。 – Stuart