Я создаю веб-приложение на основе AngularJS. Я заполняю ярлык title dyanmically, так что он изменяется для каждой страницы. Когда я размещаю приложение онлайн и передаю ссылку на него через Skype с друзьями (через мгновенный обмен мгновенными сообщениями через Skype), вместо того, чтобы metaTitle
анализируемое значение metaTitle
, Skype отображает его как {{metaTitle}}. Поэтому мои друзья видят фигурные скобки с metaTitle
как текст внутри него.
Что можно сделать, чтобы проанализировать значение metaTitle
в Skype и других собственных приложениях, которые на самом деле показывают вам предварительный просмотр ссылки, которая была вставлена, как часть сообщений чата?
Вот мой код:
<html ng-app="myApp">
<head>
<title>{{metaTitle}}</title>
</head>
<body ng-controller="myController">
Custom content
</body>
</html>
Если вам нужен реальный динамический заголовок, вам нужно отобразить страницу на стороне сервера для этих роботов (или служить статическому кешу страницы), потому что они не выполняют JavaScript, который позволяет заполнять заголовок.
В противном случае вы можете использовать
<title ng-bind="metaTitle">Static title for Skype</title>
Skype не выполняет/не интерпретирует JavaScript (в данном случае AngularJS) внутри страницы. Все Skype знает, что это статический HTML-контент.
Возможно, вам стоит взглянуть на рендеринг на стороне сервера или статическую целевую страницу для вашего приложения.
Изменение: согласно @JB Nizet answer, вы также можете использовать следующий синтаксис.
<title ng-bind="metaTitle">Static title for Skype</title>
Поскольку вы упоминаете, что вы заполняете metaTitle с вашего контроллера, вам нужно переместить объявление контроллера в html-тег:
<html ng-app="myApp" ng-controller="myController">
<head>
<title>{{metaTitle}}</title>
</head>
<body>
Custom content
</body>
</html>
$scope.$parent.metaTitle="Home";
, Поэтому перемещение ng-контроллера в html не решает мою проблему.
<title ng-bind="metaTitle"></title>
? хотя у меня есть ощущение, что он может просто скопировать и вставить пустой заголовок.