我遇到了一个问题,我想知道哪些方法更值得建议来解决它。我在角度4中使用MetaService来更新组件中的'meta'标签,这些标签将在社交媒体中共享,但是,例如,facebook sharer不会识别更新的值并在对话框共享中加载我的标签的默认值。那么,我问,解决这个问题的方法有哪些?Dinamically更新社交分享的meta标签在angular4
-1
A
回答
1
Angular是SPA(单页应用程序),这意味着客户端只会从服务器获取内容一次,然后处理到客户端不同页面的路由。
在引擎盖下,Web服务器被配置为将所有流量路由到一个包含应用程序代码的/index.html html文件。您需要的是一种基于初始请求url提供不同元标记的方法。我知道的有两个选项:
使用服务器端呈现
使用服务器端渲染,角会为每个使您可以设置特定的meta标签为每个路由以及路由静态页面。
见this tutorial在转换应用程序中使用服务器端渲染
使用Node.js的,快速& EJS到元数据注入index.html的
使用ejs library与Express可以动态地注入元标记到您的index.html
使用ejs,您将您的index.html重命名为index.ejs并将其配置为包含变量
<title>
<%=title%>
</title>
<meta itemprop="description" content="<%=description%>">
配置Express使用EJS提供基于请求的URL不同的元数据
router.get('/pageOne', function(req, res, next) {
var metaData = {
title: 'Page One',
descriptio: 'This is page one'
};
res.render('index.ejs', metaData);
});
router.get('/pageTwo', function(req, res, next) {
var metaData = {
title: 'Page two',
descriptio: 'This is page two'
};
res.render('index.ejs', metaData);
});
相关问题
- 1. 带meta标签的Facebook分享按钮
- 2. 社交分享的帖子
- 3. 跟踪社交媒体分享,喜欢,通过网站#标签
- 4. Angular2 - meta标签没有采取社交媒体像facebook
- 5. 图片社交meta标签 - property =“og:image”name =“twitter:image”itemprop =“image”
- 6. 社交分享按钮弹出框而不是打开新标签
- 7. Bootstrap社交分享按钮
- 8. Ionic 2社交分享
- 9. Shaka player社交分享
- 10. 移动社交分享
- 11. 社交媒体分享
- 12. 删除meta标签刷新
- 13. 在科尔多瓦社交分享中分享图片
- 14. GA中的社交分享跟踪
- 15. 分享 - 网站中的社交按钮
- 16. 社交分享编码的Actionscript问题
- 17. Facebook的分享未使用更新的OG meta
- 18. Ionic2社交分享Facebook不工作
- 19. 如何添加社交分享按钮?
- 20. 将图像分享到社交媒体
- 21. Whatsapp社交分享与流星
- 22. 社交分享插件Cordova/Phonegap
- 23. 社交分享计数器问题
- 24. 社交分享按钮像CNET
- 25. Angular2和社交分享爬虫
- 26. Facebook:社交小工具与分享
- 27. 分享网页与社交网络
- 28. 社交媒体链接分享
- 29. 使用社交分享按钮从addthis.com
- 30. Sitecore Meta标签
请在你的问题相关的代码。你可以阅读更多关于[如何在这里提问](https://stackoverflow.com/help/how-to-ask):) – 0mpurdy