如何为facebook的image_src添加链接标记?

时间:2013-09-08 14:53:29

标签: javascript facebook

我正在尝试使用javascript在头标记中添加带有rel image_src的链接标记,这样我就可以在分享此页面链接时在Facebook中获取图像。

var linkTag='<link rel="image_src" href="https://graph.facebook.com/picture" />';

var headHTML = document.getElementsByTagName('head')[0].innerHTML;
headHTML    += linkTag;
document.getElementsByTagName('head')[0].innerHTML = headHTML;

以上代码完美地添加了head标签中的链接,但问题是当我分享此页面的链接时,facebook没有得到这张图片。

当我在头部手动添加此链接标签然后facebook完美地选择此图像但是当我使用javascript添加此链接标签时,facebook不会选择图像。

为什么这样做?

我该如何解决这个问题?请帮忙。

1 个答案:

答案 0 :(得分:0)

我不太明白你的<link>标签应该提供什么,因为这些标签通常用于样式表。如果是这样,您的标记应如下所示:

<link rel="stylesheet" type="text/css" href="https://graph.facebook.com/picture/mycss.css">

请参阅http://www.w3schools.com/tags/att_link_rel.asp,了解您可以传递给rel

的内容

所以,你应该这样:

var linkTag = document.createElement('link'),
    head = document.getElementsByTagName('head')[0];

linkTag.setAttribute('rel', 'stylesheet');
linkTag.setAttribute('type', 'text/css');
linkTag.setAttribute('href', 'https://graph.facebook.com/picture/mycss.css');

head.appendChild(linkTag);

如果这不完全符合您的需要,......至少会给您一个如何正确操作的提示,因为innerHTML不适用于。

在你的情况下(正如你所写),它将是:

var linkTag = document.createElement('link'),
    head = document.getElementsByTagName('head')[0];

linkTag.setAttribute('rel', 'image_src');
linkTag.setAttribute('href', 'https://graph.facebook.com/picture');

head.appendChild(linkTag);
祝你好运!