当前位置: 首页 > 面试题库 >

og meta标签,社交按钮和angularjs

唐博文
2023-03-14
问题内容

我正在使用多个视图创建一个网站。页面的标签和标签通过$ rootScope变量进行更改。所以我有类似

<html>
<head>
   <title ng-bind="page_title"></title>
   <meta property="og:title" content="{{page_title}}">
</head>

每当将每个视图加载到网站上时,page_title变量都会更改,并且title和og:title标记将更新(一切正常。)

问题是,在某些视图上,我需要加载一个Facebook,一个Google+和一个Twitter按钮。我可以正确显示它们,但如果单击它们,则页面标题看起来像:

{{page_title}}

我试图使用setTimeOut延迟每个按钮的脚本执行,但效果不佳。但是脚本只读取已写的内容,而不会解析page_title。

有谁知道解决方法?

谢谢


问题答案:

这无法使用javascript完成。有人认为Facebook正在阅读页面上的当前内容。不是。它使用Scraper使用相同的URL(来自window.location.href)向您的服务器发出单独的请求,而Facebook
Scraper无法运行javascript。这就是为什么当您点击诸如Facebook分享按钮之类的内容时会得到{{page_title}}的原因。您的内容将必须由服务器生成,因此,当Facebook访问该URL时,它将无需JavaScript即可获取所需的内容。您可以通过几种方式解决服务器端渲染。

  1. 您可以允许服务器端技术呈现内容。
  2. 您可以使用PhantomJS方法https://github.com/steeve/angular-seo。


 类似资料:
  • Social Buttons库是一组用纯CSS制作的CSS按钮,基于Bootstrap和Font Awesome。 加载社交按钮 要加载bootstrap-social.css库,请从github下载bootstrap-social.css并将以下行粘贴到网页的“head”部分。 <head> <b><link rel = "stylesheet" href = "bootstrap-soc

  • 我有一些社交媒体图标使用引导字体-很棒的图标。我的问题是图标没有居中。 这里是我的代码,它的大部分是从一个在线来源复制和粘贴。 我也希望它适用于移动以及。我已经玩了一些边距和文本对齐,但似乎没有什么工作如预期。感谢任何帮助。

  • 描述 (Description) 额外的文本或控件可以附加到输入字段的左/右。 将元素包含在容器.input-group ,然后将以下类添加到里面的元素中 - input-group-field - 在文本字段上添加。 input-group-label - 添加文本标签。 input-group-button - 添加按钮。 例子 (Example) 以下示例演示了在Foundation中使用l

  • 问题内容: 如何使文件选择器的按钮文本国际化?例如,此代码向用户呈现的内容: 问题答案: 它通常由浏览器提供并且很难更改,因此解决该问题的唯一方法是CSS / JavaScript hack,

  • 以下是社交按钮中提供的各种样式。 Sr.No. 样式 中等大小 按键 图标按钮 1 btn-twitter btn-md 用Twitter登录 2 btn-bitbucket btn-md 用Bitbucket登录 3 btn-dropbox btn-md 使用Dropbox登录 4 btn-facebook btn-md 用Facebook登录 5 btn-btn-flickr btn-md 用

  • 我有一个按钮,它有填充,但它是在一个跨度标签包装。我正在使用作为谷歌标签管理器中的触发器。 因此,如果我现在在DOM中单击span而不是按钮元素,那么span是它是被单击的元素,所以现在它不会得到id="gtm-id",因为它不是被单击的元素。 如何让谷歌标签管理器冒泡并从它的包装父元素中获取数据?