2017-04-04 14 views
-2

我需要帮助完成项目。我在使用angularjs将标记加载到HTML HEAD时遇到问题。AngularJS服务API。共享链接时不要加载标题标签

我相信的问题是,当我分享一个链接在WhatsApp,Facebook等窃贼,不加载AngularJS,因此不加载变量的数据,因此只显示“源代码”。

正确: enter image description here

错误: enter image description here

版本:AngularJS V1.6.1

代码的html:

<!DOCTYPE html> 
<html ng-app="ecApp" ng-controller="ecCtlr"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=0" /> 
     <meta name="fragment" content="!"> 
     <title>{{produto.nome}}</title> 
     <meta name="description" content="{{produto.texto_descricao}}" /> 
     <script src="angular.min.js"></script> 
     <script src="app.js"></script> 
     <script src="factory.js"></script> 
     <script> 
     var idLoja = 858; 
     function carregaScope() { 
      var scope = angular.element($('#ecCtlr')).scope(); 
      scope.$apply(function() { 
      scope.buscaProduto(670706); 
      }); 
     } 
     </script> 
    </head> 
    <body onLoad="carregaScope();" id="ecCtlr"> 
    </body> 
</html> 

角APP:

var api = 'http://localhost/api/'; 
var app = angular.module('ecApp', []); 

app.controller('ecCtlr', function ($scope, $sce, ECProdutos) { 

    $scope.buscaProduto = function(idProduto) { 
     ECProdutos.buscaProduto(idLoja, idProduto).then(function (produto) { 
      $scope.produto = produto; 
      $scope.produtoPai = produto; 
     }); 
    }; 
}); 

厂:

angular.module("ecApp").factory("ECProdutos", function ($q, $http) { 
    var urlClass = 'ec/produto/'; 
    return { 
     buscaProduto: function (idLoja, idProduto) { 
      var promessa = $q.defer(); 

      $http.get(api + '' + urlClass + 'buscaProduto/' + idLoja + '/' + idProduto).then(
       function (result) { 
        promessa.resolve(result.data); 
       } 
      ); 

      return promessa.promise; 
     } 
    }; 
}); 
+3

1)你的代码在哪里? 2)由于我们看不到你的代码,因为你在问题中提到了两个,所以我们不知道你是否使用了Angular1或者2 ...所以任何人都很难帮助你。 –

+0

@HunterTurner编辑,谢谢 –

回答

0

的WhatsApp和Facebook爬虫不要运行JavaScript代码(但:-)),

我更喜欢以下解决方案:在后端服务器上托管两个html页面,第一页是社交共享从站,另一个是目标页面

第一页: 此页面是社交分享的“奴隶”,我们称之为WhatsAppOrFacebook.html。它具有社交分享的硬编码属性:页面标题,说明,预览图像等,全部为硬编码。它有一个小脚本将用户重定向到第二页(例如,使用以下命令:window.location ='second-page.html')。

第二页:此页面是的目标页面,它与你的AngularJS代码或其他任何框架代码库构建,用户被重定向到该页面从“第一页”(或fromWhatsAppOrFacebook.html)。

希望它有帮助!