gpt4 book ai didi

javascript - 使 Facebook 对话框提要框显示在与模式相同的窗口中,而不是弹出页面

转载 作者:行者123 更新时间:2023-11-28 01:21:16 25 4
gpt4 key购买 nike

我希望 Facebook Dialog Feed 在同一页面中显示为模式。在此调用之前,使用 PHP 对用户进行了身份验证。我尝试使用 iframe 属性进行显示,但它仍然显示为弹出窗口。

代码如下:

window.fbAsyncInit = function () {
FB.init({ appId: '****************', cookie: true, xfbml: true, oauth: true });
if (typeof facebookInit == 'function') {
facebookInit();
}
};

(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));

function facebookInit() {
FB.ui({
url : 'http://url.com',
method: 'feed',
name: 'Hey',
link: 'http://url.com',
display: 'iframe',
picture: '',
caption: fb_description,
}, function (response) {
if (response && response.post_id) {
window.location = "/hello";
} else {
window.location = "/hello";
}
}
);
}

这是否有原因显示为弹出窗口而不是显示为模式?

最佳答案

在同一窗口中显示提要对话框而不是弹出窗口的唯一方法是使用直接 URL 重定向。

你可以这样使用它-

function facebookInit() {
var app_id = "{app-id}";
var fb_description = "{description}";
var redirect_uri = "{redirect-url}";
var link = "{link to share}";
var name = "{name}";

var url = "https://www.facebook.com/dialog/feed?"+
"app_id="+app_id+
"&caption="+fb_description+
"&link="+link+
"&name="+name+
"&redirect_uri="+redirect_uri;

location.href = url;
}

编辑:

documentation说-

If you are using the JavaScript SDK, this will default to a modal iframe type for people logged into your app or async when using within a game on Facebook.com, and a popup window for everyone else

如果您的应用程序位于 facebook 内部,则只有它会作为模型 iframe 类型打开,否则将显示弹出窗口或完全打开的窗口。

关于javascript - 使 Facebook 对话框提要框显示在与模式相同的窗口中,而不是弹出页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23230900/

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