Javascript 类似Facebook的按钮动态元标记(jQuery)

Javascript 类似Facebook的按钮动态元标记(jQuery),javascript,jquery,facebook,sdk,facebook-like,Javascript,Jquery,Facebook,Sdk,Facebook Like,我正在尝试在一个模式中设置一个类似Facebook的按钮,并且我希望OG元特定于模式中的每个图像。在我的脚本中,我首先添加所需的OG meta标记: /* INSERT OPEN GRAPH META TAGS */ $('head').append('<meta property="og:title" content="'+x+'"/> <meta property="og:url" content="'+window.location.href+'"/>

我正在尝试在一个模式中设置一个类似Facebook的按钮,并且我希望OG元特定于模式中的每个图像。在我的脚本中,我首先添加所需的OG meta标记:

/* INSERT OPEN GRAPH META TAGS */
$('head').append('<meta property="og:title" content="'+x+'"/>
   <meta property="og:url" content="'+window.location.href+'"/>
   <meta property="og:description" content="'+z+'"/>
');
这很好用,我可以在代码中看到更新。因此,在将图像加载到模式中,并根据图像的.data信息更新meta标记后,我认为可以安全地调用Facebook SDK来设置like/send按钮(如果不存在,则向页面添加所需的DIV):

$('body')。前置('body')
功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;
js.id=id;
js.src=“//connect.facebook.net/en_US/all.js#xfbml=1”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook-jssdk”);
');
在调试器中,这不起作用,只是默认为非OG元标记(title/description)。它还抛出错误,表示未定义og:url等(即使它们是在调用它之前添加的)。如果在html页面上放置虚拟OG元标记并运行调试器,则不会出现任何错误,并且会显示OG元标记内容(不是动态更新的内容,只是虚拟内容文本)


有什么想法吗?谢谢

Facebook的scraper不执行Javascript,因此在执行任何Javascript(或jQuery)之前只能读取HTML中可用的元标记


每个打开的图形对象都必须有一个唯一的URL。

忘记提到FB调试器中显示的URL/链接在这两种情况下是相同的
$('meta[property="og:title"]').attr('content',currentImageParent.data('MetaTitle')); 

$('meta[property="og:description"]').attr('content',currentImageParent.data('MetaDescription'));
$('body').prepend('<div id="fb-root" class="FacebookSDK"></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/en_US/all.js#xfbml=1";     
       fjs.parentNode.insertBefore(js,fjs);
   }(document,\'script\',\'facebook-jssdk\'));
   </script>
');