当“喜欢”时,“%2F”将变为“/”

时间:2012-01-20 10:14:10

标签: javascript facebook-like

当“喜欢”下面写的网址时,会出现问题。

http://example.com/aaa/bbb/ccc/xxx%2Fxxx/

“编辑个人资料>活动和兴趣>您喜欢的其他页面”中的链接网址是

... / AAA / BBB / CCC / XXX%2Fxxx /

但是用户墙中的链接网址是

... / AAA / BBB / CCC / XXX / XXX /

如何在用户墙中使用正确的链接?

Javascript源代码:

function getFacebookUrl() {
    var thisPath = location.pathname;
    var fbUrl;
    var host = location.host;
    var regex = new RegExp("\/([^\/]+)\/([^\/]+)\/([^\/]+)\/([^\/]+)\/");

    if (thisPath.match(regex)) {
        thisPath = "/" + RegExp.$1 + "/" + RegExp.$2 + "/" + RegExp.$3 + "/" + encodeURIComponent(RegExp.$4) + "/";
    }

    fbUrl = location.protocol + "//" + host + thisPath;
    return encodeURIComponent(fbUrl);
}

var url = getFacebookUrl();

document.write('<iframe src="//www.facebook.com/plugins/like.php?href=' + url + '&amp;send=false&amp;layout=box_count&amp;width=450&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:74px; height:65px;" allowTransparency="true"></iframe>');

1 个答案:

答案 0 :(得分:1)

怎么样

var url = unescape('http://example.com/aaa/bbb/ccc/xxx%2Fxxx/');