不同的网址为Facebook分享按钮

时间:2012-07-24 12:33:20

标签: c# javascript asp.net facebook facebook-sharer

我想在Facebook分享按钮而不是当前页面网址中提供不同的网址。

我试图改变asp.net中的url但我没有成功。

如果有人能为此提供帮助,我将不胜感激。

我使用的一些代码,你可以看到。

这是正面剧本

<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript">
</script>
<script type="text/javascript">
function fbs_click() {
u = location.href;
t = document.title;
window.open('http://www.facebook.com/share.php?u=' + encodeURIComponent(u) +
'&t=' + encodeURIComponent(t), 'share', 'toolbar=0,status=0,width=626,height=436');
return false;
}
</script>

这是分享按钮

<a name="fb_share" runat="server" id="aFbShare" type="button" class="sharelink">Paylaş</a>

这就是我在后面做的事情

string wishListUrl = SEOHelper.GetWishlistUrl(NopContext.Current.User.CustomerGuid);
aFbShare.Attributes.Add("onclick", "fbs_click()");
aFbShare.Attributes.Add("target", "_blank");
aFbShare.HRef = "http://www.facebook.com/share.php?u=" + wishListUrl;

1 个答案:

答案 0 :(得分:2)

你遇到的问题是这个。用户点击您的按钮:

<script type="text/javascript">
function fbs_click() {
   u = location.href;
   t = document.title;  
   window.open('http://www.facebook.com/share.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'share', 'toolbar=0,status=0,width=626,height=436');
   return false;
}
</script>

在此函数中,u是当前URL,t是当前标题。你打开Facebook的新窗口,然后返回false。这意味着您的链接永远不会被实际遵循,因为false告诉浏览器不应再处理点击。你应该做的是修改代码隐藏:

string desiredTitle = "My Wishlist";
string wishListUrl = SEOHelper.GetWishlistUrl(NopContext.Current.User.CustomerGuid);
aFbShare.Attributes.Add("onclick", "fbs_click('" + wishListUrl + "', '" + desiredTitle + "')");

将客户端脚本修改为:

<script type="text/javascript">
function fbs_click(url, title) {
   window.open('http://www.facebook.com/share.php?u=' + encodeURIComponent(url) + '&t=' + encodeURIComponent(title), 'share', 'toolbar=0,status=0,width=626,height=436');
   return false;
}
</script>

如果您需要维护当前的标题,只需从onclick调用和函数签名中删除title变量,然后像以前一样从文档中提取标题。