0

我正在尝试使用 javascript 在 head 标签中添加带有 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 没有得到这张图片。

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

为什么会这样?

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

4

1 回答 1

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);

祝你好运!

于 2013-09-08T16:04:05.613 回答