我正在尝试实施一个"在Facebook上分享这个"功能。这是我的代码:
HTML
<a class="btn btn-social-icon btn-facebook" title="Share this on Facebook"
href="http://www.facebook.com/sharer.php?u={{currentUrl}}"
onclick="openPopupWindow(this.href); return false;">
<i class="fa fa-facebook"></i>
</a>
的JavaScript
function openPopupWindow(url) {
window.open(url,'targetWindow',
'toolbar=no, location=no, status=no, menubar=no, scrollbars=yes, resizable=yes,
width=640, height=480');
}
AngularJS
$scope.currentUrl = document.URL;
我正在使用ui-sref在状态之间导航,因此,浏览器中显示的每个网址都会显示如下:
http:// hostName:port/#/stateName
该主题标签打破了我试图实现的功能,这意味着它将尝试在Facebook上找到名为 stateName 的页面。我想要分享的结果链接变为http:// www.facebook.com/stateName
而不是http:// hostName:port/#/stateName.
我的问题是:
是否可以在不删除URL中的#的情况下解决这个问题?
谢谢
答案 0 :(得分:3)
您可以使用%23
http:// hostName:port/%23/stateName
变为
http:// hostName:port/#/stateName
可以找到其他编码值here
答案 1 :(得分:0)
您是否可以手动构建URL或对其进行编码?
$scope.currentUrl = encodeURIComponent(document.URL);