Facebook共享按钮不;在使用Javascript和Ajax的Webmethod中似乎不起作用

Facebook share button doesn't seem to work in a Webmethod with Javascript and Ajax

本文关键字:Webmethod Ajax 不起作用 Javascript 按钮 共享 Facebook      更新时间:2024-02-29

我正在尝试在照片列表中使用Facebook共享按钮,其中每张照片都有自己的按钮,带有不同的URL。不幸的是,我做不到。我得到了除了facebook按钮字符串之外的所有测试字符串。为了测试facebookSDK是否有效,我从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&amp;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" />