gpt4 book ai didi

facebook - FB.ui 弹出窗口未关闭

转载 作者:行者123 更新时间:2023-12-02 08:02:07 25 4
gpt4 key购买 nike

初始化代码:

            FB.init({
appId: '123456789012345',
channelUrl: 'http://localhost/Some/Url/FacebookChannel',
status: true,
cookie: true,
oauth: true,
xfbml: true
});

以下代码通过 o​​nclick 调用:

    FB.ui({
method: 'feed',
name: settings.facebookShareName,
link: settings.facebookLinkUrl,
caption: settings.facebookShareCaption,
description: settings.facebookShareDescription,
message: message,
display: 'popup'
});

此代码在 FF 和 Chrome 中运行良好,并且大部分在 IE8 中运行。显示弹出窗口,用户可以发布到他们的墙上,但提交后,窗口不会关闭。它会变成白色,没有进一步的交互,但必须由用户手动关闭。

为什么 IE 中的窗口不会自动关闭,和/或是否有任何解决方法可以强制关闭弹出窗口?

编辑:这个问题可能与这个 Unresolved bug 有关。

最佳答案

我也遇到了同样的问题,并且一直无法从 Facebook 获得回调函数的响应。我在 console.log 中没有看到任何内容,也没有在函数中看到任何警报。

我的解决方案是在 FB.ui 的redirect_uri 中放置一个 URL,该 URL 使用 self.close(或 window.close)转到 HTML 页面。 FB.ui 弹出窗口在用户输入后重定向到那里并立即关闭。请记住更改 FB 应用的站点 URL 设置,使其与文件所在的域相匹配。

这是我的代码,与我的表单的提交操作相关。函数(响应)回调仍然存在,但未使用。如果有人发现语法错误,请对其进行评论。

    FB.ui ({
method: 'feed',
name: '',
link: '',
picture: '',
caption: '',
description: '',
actions: {name:'',link:''},
redirect_uri: 'http://.../self.close.html'
},
function(response) {
console.log(response);
if (response && response.post_id) {
alert('yes');
self.close();
} else {
alert('else yes');
}
});

self.close.html 中的代码行:

<script type="text/javascript">self.close();</script>

关于facebook - FB.ui 弹出窗口未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8497217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com