Podczas obsługi OAuth z serwera, takiego jak Twitter i Facebook, najprawdopodobniej przekieruje użytkownika do adresu URL z prośbą o pozwolenie aplikacji. Zwykle po kliknięciu łącza wysyłane jest żądanie do serwera za pośrednictwem AJAX, a następnie zwracany jest adres URL autoryzacji.window.open bez blokowania okienek wyskakujących za pomocą AJAX i manipulowanie window.location
Ale kiedy spróbujesz użyć window.open
po odebraniu odpowiedzi, twoja przeglądarka blokuje wyskakujące okienko, co czyni go bezużytecznym. Oczywiście możesz po prostu przekierować użytkownika do nowego adresu URL, ale to psuje wrażenia użytkownika, a to jest denerwujące. Nie możesz używać IFRAMES, ale nie są one dozwolone (ponieważ nie widzisz paska lokalizacji).
Jak to zrobić?
Jest to bardzo dobra praca wokół, ale jeśli używasz FB.ui() Nie sądzę, że to będzie działać. – deathemperor
EDYCJA: moje złe, źle odczytałem twoje zdanie. Tak, myślę, że używanie FB.ui nie zadziała, ponieważ działa tylko wtedy, gdy możesz przekierować okno dialogowe do nowego adresu URL. Jeśli FB.ui ma odpowiednika po stronie serwera, to będzie działać. – pocesar
jest to fantastycznie proste i skuteczne obejście, które zapewnia, że wywoływane przez ajax pop-upy będą się koncentrować. dzięki pocesar! – neokio