0

我在我的网页中使用 Facebook。要发布的 url 具有类似的查询字符串

http://test.something.in:302/sample.aspx?id=54

但它在 facebook 上发布时被截断,并且 url 变成了

http://test.something.in:302/sample.aspx.

谁能帮我解决这个问题?

<body>
  <div id="fb-root"></div>
window.fbAsyncInit = function () {
    FB.init({
        appId: '451971411518111',
        status: true,
        cookie: true, 
        xfbml: true
    });
};
(function (d, debug) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
    ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));


<form id="form1" runat="server">
<div class="fb-like" data-href="http%3A%2F%2Ftest.something.in%3A302%2Fsample.aspx%3FId%3D54" data-send="false" data-width="450" data-show-faces="true"></div>
</form>

4

1 回答 1

0

如果我正确理解您的问题,您必须在将链接传递给 Facebook Direct FB URL 时对其进行编码。

可以在 W3Schools 找到一个好的在线编码器:http: //www.w3schools.com/tags/ref_urlencode.asp

JavaScript 函数http://www.w3schools.com/jsref/jsref_encodeuri.asp也适用于动态编码你的 URL,虽然我不知道在 C# 中使用什么函数(不要问我关于 C#我从来没有在 C# 上编写过一个字符。我什至不知道它是否有功能。:P)

例如,您提供的 URL 将被编码如下:

http%3A%2F%2Ftest.something.in%3A302%2Fsample.aspx%3Fid%3D54

告诉我这是否有效。

顺便说一句,这个问题基本上是Facebook URL truncated的副本。以后尽量避免重复。它们可能会导致您的问题被关闭、大量反对票(我很高兴不这样做),甚至是临时禁令。现在不用担心,只为未来着想。

于 2013-01-02T07:21:45.273 回答