javascript - 当分享在 Facebook 上重新分享时,为什么 Facebook 会更改 "FB.ui - picture"?

标签 javascript jquery html facebook facebook-graph-api

我使用以下源代码在 Facebook 上共享 Feed。

说明: 我有很多图片,每张图片都有一个自己的 ShareButton,其中包含一个启动 shareonfb() 的 onclick。 第一个共享工作非常好,它共享图片,但是如果有人点击共享,它会打开包含图片的图库(因为,如果我使用“链接”直接图片- url,它只会打开图片,而用户不会看到主页)。

问题: 如果我尝试重新共享(在本次共享中单击 facebook 中的共享按钮),facebook 不会使用此变量的内容。它使用我网站上的 og:XXXX 元标记(通过“链接”网址)。因此,还有其他图片和文字...(共享内容已更改)。

所以,我不明白为什么它会这样做...我只能指定 1 个帖子/分享的数据/变量...这没有意义。然后我可以直接使用 og:xxx 元标记。但我不希望这样,因为图片本身没有自己的 html 页面,我可以在其中放置自己的元标记(我“直接”显示它们(使用 fancybox)。(我想通过 javascript 更改元标记,但我在 stackoverflow 上读到 Facebook 爬虫不运行 JS。) 那么,具体这个数据的功能是什么?以及如何让 Facebook 不更改它?

托本 K 制造商

function shareonfb() {
    var FB_ui_var = {   
        fb_method : 'feed',
        fb_name : 'Name of picture',
        fb_link : 'http://mysite.de/the_gallery_which_consist_the_picture027.html',
        fb_caption : 'Description caption',
        fb_picture : 'http://mysite.de/picture027.jpg',
        fb_description : 'Descriton Text',           
    }

    FB.ui({
     method: FB_ui_var.fb_method,
     name: FB_ui_var.fb_name,
     link: FB_ui_var.fb_link,
     caption: FB_ui_var.fb_caption,
     picture: FB_ui_var.fb_picture,
     description: FB_ui_var.fb_description,     
    }, function(response){});
}

最佳答案

事情就是这样,共享对话框不再允许动态内容,您始终需要一个带有开放图谱标签的页面,并且该对话框仅将 URL 作为参数。

解决此问题的一种方法是使用带有参数/id 的 PHP 文件来获取单独的 Open Graph 标签和 JavaScript 重定向到主页。 Facebook 爬虫不运行 JavaScript,因此它可以获取 Open Graph 标签。

顺便说一句,提要对话框已弃用,您应该使用 FB.ui 共享对话框。

关于javascript - 当分享在 Facebook 上重新分享时,为什么 Facebook 会更改 "FB.ui - picture"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26941367/

相关文章:

javascript - 使用变量 url 创建 href

javascript - 获取所有数据后如何加载div包含

javascript - sublime-jslint:有什么方法可以忽略特定的代码部分吗?

javascript - 克隆项目时,是否可以像这样更改所有输入属性和 ID?

javascript - 从 ajax.googleapis.com 引用 jQuery 是不好的做法吗?

java - 如何使用Java下载 protected 网页

html - 为什么 object-fit 在 flexbox 中不起作用?

javascript - clearTimeout 在 javascript 自动完成脚本中不起作用

jquery - ember,使用 jquery 更新表单值

javascript - 如何防止 jQuery Ajax 中的数据循环?