Я прочитал ряд вопросов и ответов, в том числе этот в StackOverflow, и ни один из них не работает. Мой вопрос ко всем ответам, которые я видел, звучит так: «Это работает в Safari?».
Я пытаюсь заставить это работать с Safari. Он отлично работает в Chrome и Firefox. Но в Safari экран входа в систему просто зависает, и я получаю сообщение журнала «Небезопасная попытка JavaScript получить доступ к фрейму с URL-адресом».
У меня есть приложение для холста. Я хочу войти в систему и перенаправить их на страницу после входа в систему. Я пытаюсь перенаправить сразу после входа в систему. я пытался
установка
window.top.location
на URL-адрес facebook (с некоторыми данными, переданными в подписанный запрос в качестве аргумента all_data)установка
window.location
на URL-адрес с тем же доменом, что и мое приложение.подписываемся на событие
auth.login
и ставим туда редиректпоместить перенаправление в обратный вызов для входа в систему
Ни один из них не работает для Safari. Я начинаю думать, что нет никакого способа сделать это.
function doSomething()
{
FB.login(
function(loginResponse)
{
if (loginResponse.authResponse)
{
window.top.location = "my url"
}
},
{
scope:"some,scope"
}
);
}
}
В ответ Ницану Томеру, вот эквивалентный код, который не работает с Safari, но работает с другими:
function myThing()
{
FB.login(function(loginResponse)
{
if (loginResponse.authResponse)
{
FB.api('/me', function(response)
{
window.location = "http://my_app.com?x=" + response.xyz;
});
}
},
{
scope:"scopes"
}
);
}