2016-08-15 9 views
0

AngularJSベースのWebアプリケーションを構築しています。私はタイトルタグを動的に取り込んで、すべてのページで変更します。私が友人とSkype経由で(Skypeのインスタントメッセージング経由で)&のリンクを共有すると、解析された値metaTitleをレンダリングする代わりに、Skypeはそれを{{metaTitle}}としてレンダリングします。だから私の友人はmetaTitleの中かっこで中かっこを見るようになっています。SkypeでリンクがペーストされたときのAngularJSアプリのタイトルレンダリング{{metaTitle}}

チャットメッセージの一部として貼り付けられたリンクのプレビューを実際に表示するSkypeや他のネイティブアプリケーションで、解析された値metaTitleをレンダリングするにはどうすればよいですか?ここで

は私のコードです:

<html ng-app="myApp"> 
<head> 
     <title>{{metaTitle}}</title> 
</head> 
<body ng-controller="myController"> 
     Custom content 
</body> 
</html> 
+0

たぶん、 '<タイトルNG-バインド=「metaTitle」>としてみてください '?私は空のタイトルをコピー&ペーストするだけの気がします。 – plong0

+0

{{metaTitle}}とは何ですか?それはどこから来ているのですか? –

+0

コントローラーで定義されていて、コントローラー内にないことがわかります。 –

答えて

0

あなたが本当の、動的なタイトルをしたい場合は、あなたがこれらのロボットのために、サーバ側でページをレンダリングする(またはページの静的なキャッシュを提供)する必要がありますなぜなら、タイトルを設定できるJavaScriptを実行しないからです。

そうしないと、あなたは、Skypeが実行されない/ページ内のJavaScript(この場合はAngularJSを)解釈

<title ng-bind="metaTitle">Static title for Skype</title> 
+0

Buこれはすべてのページに対して同じ静的メッセージを表示します。正しい?たとえば、静的なメッセージを「ようこそ」として使用すると、ホームページにリンクを貼ると、友だちが「ようこそ」と表示されることがあります。連絡先ページへのリンクを貼り付けると、「連絡先」のようなものを表示する代わりに、「ようこそ」がメッセージとして表示されます。これは修正できますか? – Devner

+1

はい、それは、私が答えて言ったように、サーバー側でタイトルを生成することによって行うことができます。静的なindex.htmlページを提供する代わりに、動的に生成されるページを提供します.AngularのようなJS単一ページのフレームワークが普及する前に行ったように。 –

+0

ありがとう、私はそれを得た。しかし、私は今フレームワークを変更することはできませんし、別のフレームワークのためにAngularJSをダンプすることもできません。現在の構造とフレームワークで、これを今でも達成することは可能ですか? – Devner

0

を使用することができます。 Skypeは静的なHTMLコンテンツを知っています。

サーバー側のレンダリングを調べたり、アプリの静的なランディングページが必要な場合があります。

編集:@JB Nizetの答えに従って、次の構文も使用できます。

<title ng-bind="metaTitle">Static title for Skype</title> 
+0

私はすでに試したことがあると思いますが、もう一度それを打つことを許可します。 – Devner

-1

あなたがあなたのコントローラからmetaTitleを投入していることを言及しているので、あなたがhtmlタグにあなたのコントローラの宣言を移動する必要があります。

<html ng-app="myApp" ng-controller="myController"> 
<head> 
     <title>{{metaTitle}}</title> 
</head> 
<body> 
     Custom content 
</body> 
</html> 
+0

あなたは親ノードのコントローラを宣言するのが正しいと思います。しかし、OPが直面している問題は、ロボット(Skype)がページ内のJavaScriptを実行しないことです。 – Pablo

+0

私はこうします: '$ scope。$ parent.metaTitle =" Home ";'。したがって、ng-controllerをhtmlに移動しても問題は解決しません。 – Devner

+0

ニジェットが何を言おうとしているのかがわかります。もしあなたがそれらの行に何かを加えることができれば、私はそれを試みることができます。 – Devner

関連する問題