javascript - 更改谷歌搜索中显示的网站标题(通过 Angular 路由器和用户界面路由器控制)

标签 javascript angularjs

我目前正在通过 ui 路由器构建一个 Angular 1.5 网站,其中网页上的标题会随着 Controller 的变化而变化,具体取决于用户所在的页面。 HTML 看起来像这样

<title ng-controller="pageTitle">Red Vase | {{ page }}</title>

Controller 代码是这样的

 angular.module('redvase')
  .controller('pageTitle', function($scope, $state, $rootScope) {
      $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
        $scope.current = toState.name;
        if ($scope.current === "home") {
          $scope.page = "Home"
        } else if ($scope.current === "inspire") {
          $scope.page = "Inspire Others"
        } else if ($scope.current === "inspireShop") {
          $scope.page = "Inspired Living Store"
        } else if ($scope.current === "blog") {
          $scope.page = "Blog"
        } else if ($scope.current === "contactus") {
          $scope.page = "Contact Us"
        } else {
          $scope.page = "Home"
        }
    })
  })

在 Chrome 中搜索网站时,自动填充历史记录显示为“myredvase.com - Red Vase | {{ page }}”,而不是“myredvase.com - Red Vase | Home”。

有人可以建议让 Chrome 显示“myredvase.com - Red Vase | Home”,尽管标题标签包含 {{ page }} 表达式吗?我一直在摸索这个问题。

谢谢!

最佳答案

使用 $rootScope 插入的 $scope

angular.module('redvase')
  .controller('pageTitle', function($scope, $state, $rootScope) {
      $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
        $scope.current = toState.name;
        if ($scope.current === "home") {
          $rootScope.page = "Home"
        } else if ($scope.current === "inspire") {
          $rootScope.page = "Inspire Others"
        } else if ($scope.current === "inspireShop") {
          $rootScope.page = "Inspired Living Store"
        } else if ($scope.current === "blog") {
          $rootScope.page = "Blog"
        } else if ($scope.current === "contactus") {
          $rootScope.page = "Contact Us"
        } else {
          $rootScope.page = "Home"
        }
    })
  })

关于javascript - 更改谷歌搜索中显示的网站标题(通过 Angular 路由器和用户界面路由器控制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38044110/

相关文章:

javascript - d3js X 轴数据按季度按年份分组

angularjs - Angular JS 表单验证似乎不起作用

javascript - AnulgarJS - 服务中的对象参数未更改

javascript - 为什么此代码在 Android 上需要视口(viewport)元标记?

javascript - Canvas 重叠元素

javascript - 使用 Promise.all 返回总体结果并将其传递给另一个函数

javascript - 通过 Angular Controller 中的全局变量将信息从一个函数传输到另一个函数

javascript - create-react-app 显示错误 "You need to enable JavaScript to run this app."

javascript - 如何在 jQuery 中将 .done 或 .complete 与 .toggle 一起使用

angularjs - 使用 Jasmine 对 angular 1.x 组件进行单元测试(使用 Typescript、Webpack)