我已经看到有关如何最好地实现Open Graph命名空间的相互矛盾的信息.具体来说,Open Graph网站使用了一些不同的方法,而Facebook Open Graph示例则使用其他方法.
Open Graph网站示例(使用HTML前缀属性):
<html prefix="og: http://ogp.me/ns#">
Run Code Online (Sandbox Code Playgroud)
Open Graph网站源代码(使用HTML XMLNS属性):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Run Code Online (Sandbox Code Playgroud)
Facebook Open Graph文档(使用HEAD前缀属性):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Run Code Online (Sandbox Code Playgroud)
Facebook Open Graph文档#2(使用HTML XMLNS属性):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)
什么是推荐的方法或甚至不重要?
当我在电报中发送新的链接时,这个信使会自动读取Url的Open Graph数据(og标签),这非常好. 但是当Url的Open Graph数据(og)发生变化时,电报会缓存旧的og.
如何清除旧的Open Graph数据(og标签)并读取新的og标签值?
例如,见下图,我输入url asp.net但是电报读取下面的标签:
<meta property="og:site_name" content="Microsoft">
<meta property="og:title" content="ASP.NET | Open-source web framework for .NET">
<meta name="twitter:image" content="https://dotnet.microsoft.com/images/redesign/social/large.png">
<meta property="og:description" content="ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript." />
Run Code Online (Sandbox Code Playgroud)