angular.js& prerender.io - 如何允许客户端动态生成og:meta标签?

时间:2017-05-20 04:44:35

标签: mysql angularjs facebook-opengraph prerender og-meta

我的网站是一个单页应用程序,它从MySQL数据库中提取数据,我的客户端可以使用带有输入字段的HTML表单自行更新。我希望能够做到这一点,以便我的客户可以动态添加og:meta标签,以便他们生成的任何页面都可以轻松地分享给Facebook。

基本上,用户在MySQL中存储og:meta信息,然后相应的php页面提取这些数据并正确分配。

这是动态元标记在index.html的头部中的样子:

<!--prerender.io & Facebook-->
<meta name="fragment" content="!">
<meta property="og:url" content="{{ seo.metaUrl }}">
<meta property="og:title" content="{{ seo.metaTitle }}">
<meta property="og:description" content="{{ seo.metaDescription }}">
<meta property="og:image" content="{{ seo.metaImage }}">

这是我的主要控制者:

(function () {

    angular
        .module('app')
        .controller('mainController', Controller);

    function Controller($scope) {

        $scope.seo = { 
            metaUrl : '', metaTitle : '', metaImage : '', metaDescription : '' 
            }; 

        $scope.$parent.seo = { 
            //how can I make this part dynamic? Use variables somehow?
            metaUrl : 'http://example.com',
            metaTitle : 'Example | Home',
            metaImage : 'http://example.com/pics/example.png',
            metaDescription : 'Example | Example | Example' 
            }; 
        }
    }
)();
  • 是否可以在$scope.$parent.seo = {}内添加变量?
  • 如果可能的话,我会在php页面上提取MySQL数据并使用ng-controller或类似内容将其加载到这些变量中吗?

0 个答案:

没有答案