[英]Testing Facebook Share Dialog with localhost - “Unable to resolve object at URL http://localhost”
我正在嘗試使用當前(在詢問此問題的日期)Facebook Share Dialog僅使用URL(而不是SDK)。
我的JS看起來像這樣:
openFacebookPopup : function (url) {
this.openSharerWindow('https://www.facebook.com/dialog/share' + '?app_id=145634995501895' + '&display=popup' + '&href=http%3A%2F%2Flocalhost' + '&redirect_uri=http%3A%2F%2Flocalhost');
return false;
}
我得到的錯誤是:
無法在URL
http://localhost/
解析對象。
這意味着什么,我該如何解決它? 我應該注意,這個JS使用舊的'sharer.php'網址為facebook工作沒有問題。
我已將http://localhost
添加到我的應用程序中。
由於FB無法訪問您的localhost來提供彈出窗口,因此您必須自己提供。
首先,在您需要的每個頁面上添加Facebook的Javascript SDK:
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
xfbml : true,
version : 'v2.3'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
然后,將此函數綁定到您想要的任何觸發器上,例如:單擊事件:
$('#fb-share-button').click(function() {
FB.ui({
method: 'feed',
link: "The link you want to share",
picture: 'The picture url',
name: "The name who will be displayed on the post",
description: "The description who will be displayed"
}, function(response){
console.log(response);
}
);
});
我console.log響應,但在這個塊你可以做你想要的。 例如,捕獲響應以查看帖子是否已被很好地共享。
@WizKid試圖說的是Facebook正在尋找你頁面上的一些元標記(例如<meta property="og:title" content="My awesome site" />
,這樣它就可以構建你的共享內容...但是沒有找到它們。您當前的份額可能適用於生產,但不適用於本地主機。您可以使用其網址調試器測試Facebook正在查找的內容: https : //developers.facebook.com/工具/調試/
舊的基於URL參數的共享與localhost一起使用(如果您已將其添加為站點URL和應用程序域),因為所有Facebook必須在該實例中進行解析您的共享字符串的查詢參數。
要在localhost上測試facebook共享調試器,我們可以創建一個隧道。
請按照以下步驟操作 source: facebook在localhost上共享調試器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.