2012-01-28 13 views
5

Bunun için cevap aradım - tüm cevaplar eski Facebook API'sine benziyor, bu yüzden çözümler artık alakalı değil.Facebook FB.login() Popup IE8'de kapanmayacak

Yaşadığım sorun: Tıklandığında, FB.login() öğesini tetikleyen bir düğme içeren özel bir Facebook sekmesi var. Çalışması gereken yol: kullanıcı giriş yapmak için tıkladığında, pop-up açılır pencereyi açar, kullanıcı tıklamaları yetkilendirir, açılır pencere kapanır. Bu akış, IE8 ve aşağıdakiler dışındaki tüm tarayıcılarda doğru şekilde çalışır. IE8'de, kullanıcı giriş yapmak için tıkladığında, pop-up uygulamayı yetkilendirmek için açılır, kullanıcı yetkilendirmeyi tıklar, daha sonra açılır penceresindeki içerik yeniden yönlendirme URL'sindeki içerikle yenilenir. Söylemeye gerek yok, bu IE8 kullanıcıları için arzu edilen deneyim değil :(

Bulduğum herşeyi denedim: javascript hataları olmadığından, geçerli bir kanal dosyası olduğundan emin olmak için doublechecked, vb. . her şey (https) güvenli yoluyla gerçekleşiyor bunu düzeltmek, böylece onunla ilgisi olup olmadığından emin değilim ben şimdi GÜN bunu düzeltmek için çalışıyorum

;. herhangi bir yardım büyük takdir!

+0

IE7 ve IE9 ince çalışıyor musunuz? – DMCS

+0

IE9 iyidir. IE7 çalışmıyor. IE8 ve altında hata var ... –

cevap

4

emin fb-kök öğe sayfanıza sadece bir kez olduğundan emin olun, ben bu sorunları karşılaştı ve ben sorun çözüldü var bir kez fb-kök div yalnızca olduğundan emin yaptığında

0

"İçeriğin içinden gelen içerik, yönlendirme URL'sindeki içerikle birlikte yenilenir" ile bir yönlendirme URL’si geçirdiğiniz anlamına mı geliyor? Eğer öyleyse, bunu yapma. Pop-up'lar, özel olarak oluşturulmuş bir yönlendirme URL'si ile bazı alan-arası JavaScript sihirbazları kullanarak çalışır. Kendi kendinize koyarsanız, açılır pencereler bozulabilir.

Ayrıca, FB.init() öğesini çağırdığınızda uygun bir channelUrl ayarladığınızdan emin olun.

+0

Herhangi bir karışıklık için özür dileriz: ek bir yönlendirme URL'si geçmiyoruz. Sanırım "yönlendirme" ile pop-up, başlangıçta FB.login() adını veren sayfayı yeniden yüklemeyi (pop-up'ları kapatmak ve auth.login olayını tetiklemekten ziyade) kastettim. 'FB.login (işlev() {}, {kapsam: 'e-posta, user_location, user_birthday'});' onclick adı verilen işlevdir. –

+0

Ayrıca, FB.init() 'de, içinde aşağıdakileri içeren bir channel.php dosyasına bağlanıyoruz: ' ' Bu doğru mu? –