Facebook 分享按钮似乎在 Javascript 和 Ajax 的网络方法中不起作用
Facebook share button doesn't seem to work in a Webmethod with Javascript and Ajax
我正在尝试在照片列表中使用 Facebook 分享按钮,其中每张照片都有自己的按钮和不同 URL。不幸的是我无法完成这项工作。我得到了除 facebook 按钮字符串之外的所有测试字符串。为了测试 facebook SDK 是否有效,我从 webmethod 中删除了字符串并将其直接添加到我的 aspx 页面上。然后它起作用了!但我想在 Webmethod 中使用它,如下所示...
page.aspx(正文部分)
<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/fr_FR/sdk.js#xfbml=1&appId=**************&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
[WebMethod]
public static string photo()
{
StringBuilder photo_sb = new StringBuilder();
var photo_query = db.Query("SELECT * FROM [photos]);
foreach (var item in photo_query )
{
photo_sb.Append("Testing"); // I get this string
photo_sb.Append("<div class=\"fb-share-button\" data-href=\"http://********.com/photos.aspx?IDphoto=" + item.IDphoto + "\" data-layout=\"icon\"></div><br />"); // I don't get this string
photo_sb.Append("Testing2"); // I get this string
}
return photo_sb.ToString();
}
脚本
function Load() {
$.ajax({
type: "POST",
url: "UserControls.aspx/photo",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) { if (data.d != "") { $('.photoList').append(data.d);}
...
使用以下代码分享
<iframe src="//www.facebook.com/plugins/share_button.php?href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&layout=button_count" scrolling="no" frameborder="0" style="border:none; overflow:hidden;" allowTransparency="true"></iframe>
并指定
<meta property="og:title" content="YOUR TITLE HERE" />
<meta property="og:description" content="YOUR DESCRIPTION HERE" />
<meta property="og:image" content="YOUR THUMBNAIL URL HERE" />
我正在尝试在照片列表中使用 Facebook 分享按钮,其中每张照片都有自己的按钮和不同 URL。不幸的是我无法完成这项工作。我得到了除 facebook 按钮字符串之外的所有测试字符串。为了测试 facebook SDK 是否有效,我从 webmethod 中删除了字符串并将其直接添加到我的 aspx 页面上。然后它起作用了!但我想在 Webmethod 中使用它,如下所示...
page.aspx(正文部分)
<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/fr_FR/sdk.js#xfbml=1&appId=**************&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
[WebMethod]
public static string photo()
{
StringBuilder photo_sb = new StringBuilder();
var photo_query = db.Query("SELECT * FROM [photos]);
foreach (var item in photo_query )
{
photo_sb.Append("Testing"); // I get this string
photo_sb.Append("<div class=\"fb-share-button\" data-href=\"http://********.com/photos.aspx?IDphoto=" + item.IDphoto + "\" data-layout=\"icon\"></div><br />"); // I don't get this string
photo_sb.Append("Testing2"); // I get this string
}
return photo_sb.ToString();
}
脚本
function Load() {
$.ajax({
type: "POST",
url: "UserControls.aspx/photo",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) { if (data.d != "") { $('.photoList').append(data.d);}
...
使用以下代码分享
<iframe src="//www.facebook.com/plugins/share_button.php?href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&layout=button_count" scrolling="no" frameborder="0" style="border:none; overflow:hidden;" allowTransparency="true"></iframe>
并指定
<meta property="og:title" content="YOUR TITLE HERE" />
<meta property="og:description" content="YOUR DESCRIPTION HERE" />
<meta property="og:image" content="YOUR THUMBNAIL URL HERE" />