分享动态(由JavaScript生成的)页面到Facebook

3
我有一个完全由JavaScript控制的Web应用程序。这意味着只有一个请求来渲染整个页面,其他所有内容都是以JSON格式呈现。
Facebook分享使用头部中的opengraph标签来控制在共享时显示的文本和图像,但我的应用程序是单页、单头文件,所以我可以为应用程序上的所有链接使用同一张图像。
我们正在使用哈希标记(#!)来控制用户在应用程序中的位置,但我们还有一个URL重写器,当用户访问类似于以下URL时:
http://domain/action/id

它们会通过重定向头部被发送到指定位置。

http://domain/#!/action/id

因此,在这种情况下,我想知道是否有一种方法可以在Facebook上分享我的网址,并告诉Facebook为我的每个网址获取不同的图像。

1个回答

2
当facebook-share获取页面时,它不会处理其中的javascript - 但会尝试搜索其中的opengraph标签。因此,除非您在响应中加载了opengraph标签(没有JavaScript),否则基本上无法在Facebook上分享您的URL并具有不同的图片。想象一下如果您根本没有JavaScript会怎么做...所以您需要在使用JavaScript之前在页面中加载opengraph标签。

所以我的问题变成了:“Facebook是否遵循HTTP重定向?”如果是,我在这里没有太多选择。如果不是,我可以在发送重定向的页面中设置opengrapf标签,然后Facebook会看到这些标签,而实际用户会被重定向并看到实际内容。这样可以吗? - Rodrigo Gama
是的Rodrigo,那正是我所做的。您可以在页面中设置opengraph标签,然后使用meta标签或JavaScript重定向用户 - 而不是通过http头。如果我帮到了您,请为我投票! - T4u

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接