我可以动态地附加一个og标记并渲染它吗
Can I dynamically append an og tag and render it?
我正在尝试创建一个到我的网站和facebook的链接,并在上面添加一些元数据!我的目标是管理这些数据:
<meta property="og:title" content="MY_PAGE_TITLE" />
<meta property="og:description" content="MY_DESCRIPTION_TEXT" />
不幸的是,我的web应用程序(在PHP上)结构不好,而且我还没有定义正确的MVC!这是非常过程化的,所以我应该放在这些元标签上的信息是在呈现主html标题部分之后从数据库中提取的。
所以,我尝试的是:
<script type="text/javascript">
$('head').append("<meta property='"og:title'" content='"MY_PAGE_TITLE'" />");
$('head').append("<meta property='"og:description'" content='"MY_DESCRIPTION_TEXT'" />");
</script>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:like href="<?=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]?>" send="false" layout="button_count" width="130" show_faces="false"></fb:like>
但事实上,它不起作用!我的意思是,在头上附加元标签,然后尝试渲染它。
你知道一些策略吗?我会避免直接在标题上插入它们,因为正如我所说,我想插入的文本是在标题部分后面(由于网站的组织错误)。
我相信另一个解决方案,希望你知道一个!
悲伤,但没有其他方法,只能改变你的结构。即使使用javascript也无法处理og:标记的原因是facebook没有呈现javascript。它只是请求页面并从顶部读取OG标签,就像静态HTML一样
您唯一的选择是更改结构并在输出之前加载内容。你不需要为此更改为MVC,只需在头部之前加载你的内容就会为你节省大量的工作,而且仍然有效。。。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 我应该如何从xml文件构建一个javascript页面
- 我可以动态地附加一个og标记并渲染它吗
- 覆盖og:description ví一个参数