Facebook 社交按钮插件
Facebook Social Button plugin
所以我已经尝试了一段时间来集成 facebook 在 Facebook-Social-Button-Plugin
提供的这个插件
它甚至提到了 copy/paste 给定的代码,以查看它的实际效果:-
<html>
<head>
<title>Your Website Title</title>
<!-- You can use Open Graph tags to customize link previews.
Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
<meta property="og:url" content="http://www.your-domain.com/your-page.html" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Your Website Title" />
<meta property="og:description" content="Your description" />
<meta property="og:image" content="http://www.your-domain.com/path/image.jpg" />
</head>
<body>
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>(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#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- Your share button code -->
<div class="fb-share-button"
data-href="http://www.your-domain.com/your-page.html"
data-layout="button_count">
</div>
</body>
</html>
但是页面中没有显示任何内容
所以我是不是遗漏了什么或者这个插件有什么问题,比如我需要在 运行 网络服务器中获取它而不是在某些本地主机中,或者它与在 fb 中创建应用程序有关以使用此功能,因为none 他们的文档中提到了这一点。
是的,当我在 laravel 框架中构建我的网络应用程序时,我已经尝试根据我的本地主机放置正确的元属性和数据 href。
如果您添加数据并单击 "Get Code" 按钮,他们会返回此标记
<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button_count" data-size="small" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse">Share</a></div>
试试这个方法。
尝试了代码,我得到了错误
VM114 sdk.js:99 Uncaught Error: invalid version specified
似乎他们的代码有错误,或者该示例不打算被复制和粘贴,但是如果您通过单击获取代码按钮生成代码,您将得到一个略有不同的代码,其中包含不同的 url你的 appID 和版本看起来像这样:
connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7&appId=XXXXXXXXXX
这似乎有效
您必须在本地主机上启动服务器或将其放在实时服务器上,否则将无法运行。评论中提到的错误消息告诉我你试图直接打开 HTML 文件。
您还可以将 https 添加到 URL (https://connect.facebook.net..),但我宁愿使用本地主机上的服务器。此外,该页面必须在 public 中可用才能使 OG 标签起作用。 Facebook 需要能够解析来自其服务器的数据。
顺便说一句,您应该始终使用 App 并添加 App ID - 使用生成器中的代码:https://developers.facebook.com/docs/plugins/share-button
不确定这是否有帮助,但我花了几个小时努力制作一个没有文字的自定义分享 link 只有一个自定义图像,工作方式是:
从顶部 post 中列出的 link 按钮配置器中获取代码 "Facebook-Social-Button-Plugin"
添加配置器下方显示的调整后的元数据
重写css
`.fb-share-button, .fb_iframe_widget, #facebook {
宽度:70px !重要;
高度:70px !重要;
保证金:0自动;
margin-top: -46px !important;
背景:url(../img/like.png) no-repeat !important;
background-size:包含!重要;
}
.fb-share-button一个{
宽度:70px;
高度:70px;
}
.fb_iframe_widget 跨度 {
显示:inline-block;
位置:相对;
vertical-align:底部;
宽度:70px !重要;
高度:70px !重要;
text-align:证明;
}
.fb_iframe_widget iframe {
位置:绝对;
宽度:70px !重要;
高度:70px !重要;
}
.fb_iframe_widget iframe #facebook .inlineBlock {
显示:inline-block;
缩放:1;
背景:透明!重要;
宽度:70px !重要;
高度:70px !重要;
}
._2tga._3e2a {
背景:透明!重要;
颜色:透明!重要;
border-radius: 35px !important;
宽度:70px !重要;
高度:70px !重要;
}
路径[属性样式] {
填充:透明!重要;
}`
删除锚点中的"Share"(我的布局只是一张图片)或更改它
可选:如果你想显示引用的文本,只需像这样将其添加到 link 的末尾(你也可以更改 link 的标题和描述像这样)
-可选2:如果你想share/open把link当成popup,在anchor
上添加window.openonclick函数
完整的 div 示例,带有弹出窗口和不带文本的引号:
<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-size="large" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="popup" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse"e=here+comes+the+quote','popup','width=600,height=500'); return false;" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse"e=here+comes+the+quote"></a></div>
(data-size 和 data-layout 不重要,因为 css 被覆盖了)
我确定有更好的方法,但我找不到!我尝试使用 FB.ui 但它没有用。
希望对大家有所帮助!
所以我已经尝试了一段时间来集成 facebook 在 Facebook-Social-Button-Plugin
提供的这个插件它甚至提到了 copy/paste 给定的代码,以查看它的实际效果:-
<html>
<head>
<title>Your Website Title</title>
<!-- You can use Open Graph tags to customize link previews.
Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
<meta property="og:url" content="http://www.your-domain.com/your-page.html" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Your Website Title" />
<meta property="og:description" content="Your description" />
<meta property="og:image" content="http://www.your-domain.com/path/image.jpg" />
</head>
<body>
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>(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#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- Your share button code -->
<div class="fb-share-button"
data-href="http://www.your-domain.com/your-page.html"
data-layout="button_count">
</div>
</body>
</html>
但是页面中没有显示任何内容 所以我是不是遗漏了什么或者这个插件有什么问题,比如我需要在 运行 网络服务器中获取它而不是在某些本地主机中,或者它与在 fb 中创建应用程序有关以使用此功能,因为none 他们的文档中提到了这一点。
是的,当我在 laravel 框架中构建我的网络应用程序时,我已经尝试根据我的本地主机放置正确的元属性和数据 href。
如果您添加数据并单击 "Get Code" 按钮,他们会返回此标记
<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button_count" data-size="small" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse">Share</a></div>
试试这个方法。
尝试了代码,我得到了错误
VM114 sdk.js:99 Uncaught Error: invalid version specified
似乎他们的代码有错误,或者该示例不打算被复制和粘贴,但是如果您通过单击获取代码按钮生成代码,您将得到一个略有不同的代码,其中包含不同的 url你的 appID 和版本看起来像这样:
connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7&appId=XXXXXXXXXX
这似乎有效
您必须在本地主机上启动服务器或将其放在实时服务器上,否则将无法运行。评论中提到的错误消息告诉我你试图直接打开 HTML 文件。
您还可以将 https 添加到 URL (https://connect.facebook.net..),但我宁愿使用本地主机上的服务器。此外,该页面必须在 public 中可用才能使 OG 标签起作用。 Facebook 需要能够解析来自其服务器的数据。
顺便说一句,您应该始终使用 App 并添加 App ID - 使用生成器中的代码:https://developers.facebook.com/docs/plugins/share-button
不确定这是否有帮助,但我花了几个小时努力制作一个没有文字的自定义分享 link 只有一个自定义图像,工作方式是:
从顶部 post 中列出的 link 按钮配置器中获取代码 "Facebook-Social-Button-Plugin"
添加配置器下方显示的调整后的元数据
重写css
`.fb-share-button, .fb_iframe_widget, #facebook { 宽度:70px !重要; 高度:70px !重要; 保证金:0自动; margin-top: -46px !important; 背景:url(../img/like.png) no-repeat !important; background-size:包含!重要; }
.fb-share-button一个{ 宽度:70px; 高度:70px; }
.fb_iframe_widget 跨度 { 显示:inline-block; 位置:相对; vertical-align:底部; 宽度:70px !重要; 高度:70px !重要; text-align:证明; }
.fb_iframe_widget iframe { 位置:绝对; 宽度:70px !重要; 高度:70px !重要; }
.fb_iframe_widget iframe #facebook .inlineBlock { 显示:inline-block; 缩放:1; 背景:透明!重要; 宽度:70px !重要; 高度:70px !重要; }
._2tga._3e2a { 背景:透明!重要; 颜色:透明!重要; border-radius: 35px !important; 宽度:70px !重要; 高度:70px !重要; }
路径[属性样式] { 填充:透明!重要; }`
删除锚点中的"Share"(我的布局只是一张图片)或更改它
可选:如果你想显示引用的文本,只需像这样将其添加到 link 的末尾(你也可以更改 link 的标题和描述像这样)
-可选2:如果你想share/open把link当成popup,在anchor
上添加window.openonclick函数完整的 div 示例,带有弹出窗口和不带文本的引号:
<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-size="large" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="popup" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse"e=here+comes+the+quote','popup','width=600,height=500'); return false;" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&src=sdkpreparse"e=here+comes+the+quote"></a></div>
(data-size 和 data-layout 不重要,因为 css 被覆盖了)
我确定有更好的方法,但我找不到!我尝试使用 FB.ui 但它没有用。
希望对大家有所帮助!