使用javascript设置Facebook分享者显示的图片

问题描述 投票:0回答:2

我正在尝试使用 JavaScript 动态设置共享到 Facebook 时显示的缩略图。我尝试将元标记“og:image”添加到页面(它是一个 JSP)并且可行,但我现在想做的是将此类图像替换为由 javascript 动态加载的另一个图像。

基本上,页面在加载时使用 JavaScript 调用 API,并检索图像列表。我想使用其中之一作为缩略图。

我尝试使用 javascript 来替换元标记的内容,但 Facebook 似乎并不关心它(如果我用浏览器检查它确实会改变)。

可以这样做吗?

提前致谢!

javascript facebook thumbnails facebook-sharer share-open-graph
2个回答
1
投票

这是我用来从 flash 对象标签的 flashvars 参数中提取图像 url 的函数,然后使用 jquery 将其分配给元标签:

$(window).load(function(){
//Use $(window).load() instead of $(document).ready(), so that the flash code has loaded and you have all the html you need process with javascript already in place when you start processing.
    var stringToExtractFrom = $('param[name="flashvars"]').attr('value');
//Get the flashvars parameter value which we'll use to extract the preview image url from.
    var pos = stringToExtractFrom.indexOf("&");
//Search for the position ampersand symbols which surround the image url.
    var stringToUse;
//The final string we'll use.
    var startOfImageSrc = null;
//The first position where we discover the ampersand
    var endOfImageSrc;
//The second position where we discover the ampersand
    var lengthToSubstract
//How many symbols to chop off the flashvars value.
    while(pos > -1) {
        if(startOfImageSrc == null){
            startOfImageSrc = pos;
        }
        else {
            endOfImageSrc = pos;
            lengthToSubstract = endOfImageSrc - startOfImageSrc;
        }
        pos = stringToExtractFrom.indexOf("&", pos+1);
    }
    stringToUse = stringToExtractFrom.substr(startOfImageSrc+7, lengthToSubstract-7);
    $('meta[property="og:image"]').attr('content', stringToUse); });

0
投票

Facebook 机器人从不运行 Java 脚本代码 但为什么你不尝试在服务器端设置 og 标签呢?

© www.soinside.com 2019 - 2024. All rights reserved.