2015-03-24 11 views
7

Używam signin z Linkedin na stronie internetowej, za pośrednictwem interfejsu API JS. Współpracuje on z kilku przeglądarek desktopowych Przetestowałem (Chrome i FF na Windows, Safari na MacOS), a na nieco przestarzałym Android Chrome. Ale nie działa w Safari na iOS (korzystam z iOS 7).Zaloguj się z Linkedin nie powoduje wywołania zwrotnego na iOS Safari podczas korzystania z JS API

Kwestia jest taka, że ​​na iOS Safari, wywołanie zwrotne przekazywane jako argument do IN.User.authorize nie jest wykonywany.

Linia wygląda następująco: IN.User.authorize(this._getProfileData, this);

_getProfileData jest wykonywany na przeglądarek desktopowych wymienionych powyżej i Android Chrome, ale nie iOS Safari.

Ten problem może być powielana nawet bez iOS: za pośrednictwem narzędzi deweloperskich Chrome w trybie urządzenia na iPhone'ach i iPadach.

Jakieś wskazówki?

Odpowiedz

3

Niestety LinkedIn JS SDK jest niezgodna z iOS 5+ ze względu na sposób, że JavaScript jest wstrzymana podczas procesów komunikacji cross-okiennych. Trzeba będzie spadać z powrotem do połączenia po stronie serwera REST, aby zapewnić 100% kompatybilności platformy.

+2

+1 - Jest to OGROMNE zastrzeżenie i powinno być wyraźnie wskazane w dokumentacji SDK LinkedIn JS, aby ludzie nie marnili kilkudniowego czasu na wdrożenie tego rozwiązania jako rozwiązania (tak jak właśnie zrobiłem) tylko po to, aby przekonać się, że to nie działa. Działa na iOS. W dokumentacji mówi się tylko, że SDK obsługuje Safari 5+. Okropne wsparcie/dokumentacja, LinkedIn. : - / –

Powiązane problemy