2015-03-24 7 views
7

Ich verwende SignIn mit Linkedin auf einer Website über die JS-API. Es funktioniert gut auf den wenigen Desktop-Browsern, die ich getestet habe (Chrome und FF unter Windows, Safari unter MacOS) und auf einem etwas veralteten Android-Chrome. Aber es schlägt auf iOS Safari fehl (ich benutze iOS 7).Anmeldung mit Linkedin löst keinen Rückruf bei iOS Safari aus, wenn die JS-API verwendet wird

Das Problem ist, dass in iOS Safari der Rückruf als Argument an IN.User.authorize nicht ausgeführt wird.

Die Linie sieht wie folgt aus: IN.User.authorize(this._getProfileData, this);

_getProfileData auf den Desktop-Browsern ausgeführt oben erwähnt, und Android Chrome, aber nicht iOS Safari.

Dieses Problem kann sogar ohne iOS reproduziert werden: über die Chrome-Entwicklungstools im Gerätemodus für iPhones und iPads.

Irgendwelche Hinweise?

Antwort

3

Leider ist LinkedIn JS SDK nicht kompatibel mit iOS 5+ aufgrund der Art und Weise, in der Javascript während der Cross-Window-Kommunikation unterbrochen wird. Sie müssen auf serverseitige REST-Aufrufe zurückgreifen, um eine 100% ige Plattformkompatibilität sicherzustellen.

+2

+1 - Dies ist eine große Einschränkung und sollte deutlich in der LinkedIn JS SDK-Dokumentation angezeigt werden, so dass Menschen nicht verschwenden Tage ihrer Zeit implementieren dies als eine Lösung (wie ich gerade getan habe), nur um herauszufinden, dass es nicht tut Ich arbeite nicht mit iOS. Die Dokumentation besagt lediglich, dass das SDK Safari 5+ unterstützt. Schreckliche Unterstützung/Dokumentation, LinkedIn. : - / –