Javascript AngularJS-Facebook共享

Javascript AngularJS-Facebook共享,javascript,angularjs,facebook,Javascript,Angularjs,Facebook,我正在尝试使用AngularJS中的Facebook共享。下面是当用户单击FB图标时调用的我的函数 $scope.shareFB = function(){ // Get configuration ID from service configuratorService.storeConfiguration($scope.modelCode, function(configID){ // Use saved configurati

我正在尝试使用AngularJS中的Facebook共享。下面是当用户单击FB图标时调用的我的函数

    $scope.shareFB = function(){

        // Get configuration ID from service
        configuratorService.storeConfiguration($scope.modelCode, function(configID){
            // Use saved configuration id to create share link
            var base = $location.absUrl().replace($location.url(), '');
            var byoUrl = base + "/" + $scope.modelCode + "/resume/" + configID;
            console.log(byoUrl);
            var fbpopup = window.open("https://www.facebook.com/sharer/sharer.php?u=" + byoUrl, "pop", "width=600, height=400, scrollbars=no");
        });

    }
当我尝试共享url时,这个函数可以正常工作,如

Facebook弹出窗口的URL=

当我使用上述功能时:

拜厄尔=

结果FB弹出窗口的URL=


为什么/sharr/sharr.php?=被切断?

你甚至不应该尝试共享本地主机URL,因为Facebook永远无法获取它。这很可能就是你的URL被切断的原因。Facebook试图解决这个问题,但它永远也找不到,所以它尽最大努力在自己内部重定向。例如:


尝试将共享逻辑放入控制器中。沿着这条线的东西

//分享职位 $scope.fbShare=functionpost{ FB.ui { 方法:“提要”, 姓名:post.title, 链接:'http://www.cengkuru.com/“+post.slug, 图片:, 标题:, 说明:$filter'limito'$scope.post.body,150, 信息: }; } window.fbAsyninit=函数{ FB.init{appId:'YOUR_APP_ID',status:true,cookie:true, xfbml:true}; }; 作用{ var e=document.createElement'script';e.async=true; e、 src=document.location.protocol+ “//connect.facebook.net/en_US/all.js”; document.getElementById'fb-root'.appendChilde; };
研究关键词:URL编码。