Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook共享:如何在使用AJAX加载页面时更新OG标记_Facebook_Jquery_Share - Fatal编程技术网

Facebook共享:如何在使用AJAX加载页面时更新OG标记

Facebook共享:如何在使用AJAX加载页面时更新OG标记,facebook,jquery,share,Facebook,Jquery,Share,我有一个网站,使用100%AJAX加载所有“页面”和“内容”。我使用jQuery来处理AJAX负载 我遇到的问题是,我想为各个项目页面包含一个FB共享链接(请参见下面的链接): 因此,当通过AJAX加载每个项目时,我将使用jQuery(当doc.ready时)更新index.php页面中的OG元标记。我给了每个FB OG元一个与其用途相对应的ID(例如FB_标题)。下面是位于index.php头部的OG元: <meta id="FB_title" property="og:title"

我有一个网站,使用100%AJAX加载所有“页面”和“内容”。我使用jQuery来处理AJAX负载

我遇到的问题是,我想为各个项目页面包含一个FB共享链接(请参见下面的链接):

因此,当通过AJAX加载每个项目时,我将使用jQuery(当doc.ready时)更新index.php页面中的OG元标记。我给了每个FB OG元一个与其用途相对应的ID(例如FB_标题)。下面是位于index.php头部的OG元:

<meta id="FB_title" property="og:title" content="Concrete Design Communications" /> 
<meta id="FB_description" property="og:description" content="Internationally acclaimed Toronto-based brand design practice serving a variety of sectors including telecom, luxury retail, fashion, cosmetics, hospitality, publishing, as well as furniture and product design." /> 
<meta id="FB_image" property="og:image" content="http://www.concrete.ca/images/LOGO.png" />

然后,当通过AJAX加载每个项目页面时,我想更新“内容” 元标记的属性。按照这些思路:

$('#FB_title').attr('content', 'Concrete Design: <? print $GA_project_name; ?>');
$('FB#u title').attr('content','Concrete Design:');
问题是,当我运行代码时,我得到了一个“解析错误”。还有人遇到过这个问题吗?通过AJAX加载页面时,更新FB OG meta的最佳方法是什么

我已经看过FB开发文档,但似乎没有任何东西可以解决这个问题


提前感谢您的帮助。

Facebook的linter不运行任何javascript。因此,当facebook来抢夺时,你必须确保提供正确的内容

这是你需要做的。两种选择。无论是工作,并已被证明与其他生产网站的工作。J

  • 在Like插件代码中指定AJAX url。当您的web服务器看到来自Facebook linter的请求时,请在其上设置一个特殊的处理程序。刮板的用户代理是:
    “facebookexternalhit/1.1(+http://www.facebook.com/externalhit_uatext.php)“
    。然后,您的服务器可以解析hash bang并为该内容提供特定的og元标记。这称为URL重写,可以通过.htaccess完成

  • 在Like插件代码中指定规范URL。对于可以显示的每一部分内容,该规范URL都是唯一的,可能是对
    http://www.concrete.ca/work_project.php?project_ID=32
    (不带hash-bang)显示正确的og:meta标记