我想在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;
答案 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变量,然后像以前一样从文档中提取标题。