مشكلة زر الاتصال Facebook في Chrome (نحن نستخدم Django و Django-Socialauth)
-
20-09-2019 - |
سؤال
نحن نستخدم django
و django-socialauth
بالنسبة لـ Auth مع Google/FB/Twitter ، ولكن هناك مشكلة في زر Connect Facebook فقط في Chrome (لا Safari) ، لا تعرض الزر.
المحلول 2
إذا كان لديك buttom مخصص لـ FB ، فيمكنك استخدام Facebook Middleware لإصلاح هذا:
أضف هذا إلى الخاص بك MIDDLEWARE_CLASSES
في settings.py
:
...
'facebook.djangofb.FacebookMiddleware',
...
نصائح أخرى
ههه - لقد وجدت هذا المنشور حوالي 3H بعد نشره عبر بحث Google ، واجهت مشكلة ذات صلة باستخدام Django -Socialauth حيث كان الزر يظهر ولكن لم يسرد المستخدم بنجاح إذا تم تسجيل الدخول بالفعل على Facebook.com.
استخدم الكود التالي لإصلاحه ، والذي يتضمن ترميز صورة زر الاتصال ، لذا يجب حل مشكلتك أيضًا (اكتشف WebKit ويسجل المستخدم أولاً ، والذي يحدد مشكلتي. نظرًا لأن الخطأ يؤثر فقط على WebKit وتسجيل الخروج أولاً ، فهو ليس رائعًا بالنسبة للمستخدمين ، أردت أن أحتفظ بالسلوك القياسي للمتصفحات الأخرى - لقد استخدمت jQuery للكشف عن المتصفح ولكن يمكنك استخدام طريقة أخرى أو ببساطة تخطي إذا في JavaScript واستخدم السلوك الأول في كل المتصفحات)
<a href="#" onclick="if ($.browser.webkit || $.browser.safari) { FB.Connect.logout(function(){FB.Connect.requireSession(facebook_onlogin);return false;}); } else { FB.Connect.requireSession(facebook_onlogin); }; return false;">
<img id="RES_ID_fb_login_image" src="http://static.ak.fbcdn.net/rsrc.php/zA114/hash/7e3mp7ee.gif" alt="Connect">
</a>