问:如何将这样的网址传递给facebook。
https://www.facebook.com/sharer.php?t=XBOX&u=http://aaa.com/#/project/xbox-branding
当我把这个网址传递给facebook时,facebook修改了网址
http://aaa.com/project/xbox-branding
在facebook的帖子中,我的共享网址无法链接到正确的网址。
编码#
到%23
,你可以用urlencode()做到这一点
https://www.facebook.com/sharer.php?t=XBOX&u=http://aaa.com/%23/project/xbox-branding
但你应该编码完整的重定向URL,如下所示:
https://www.facebook.com/sharer.php?t=XBOX&u=http%3A%2F%2Faaa.com%2F%23%2Fproject%2Fxbox-branding
<a href="http://www.facebook.com/share.php?t=XBOX&u=http://aaa.com/%23/project/xbox-branding/" onclick="return fbs_click()" target="_blank">CLICK ME</a>
<script>function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}</script>
ans:在网址中将#更改为%23。例如http://aaa.com/%23/project/ ......
始终对url进行编码以转义特殊字符。
在js中,
'https://www.facebook.com/sharer.php?t=XBOX&u=' + encodeURIComponent('http://aaa.com/#/project/xbox-branding');
在PHP中,
'https://www.facebook.com/sharer.php?t=XBOX&u='.urlencode('http://aaa.com/#/project/xbox-branding');