FB.login () schlägt fehl mit "Unsicheres JavaScript versucht, die Navigation für Frame zu initiieren" auf Android Chrome, aber nicht auf Desktop Chrome

8

Ich habe einen Facebook JS SDK-Login-Flow hier: Ссылка

Wenn der Benutzer auf die Facebook-Schaltfläche klickt, wird die folgende Funktion ausgeführt:

%Vor%

Im Grunde ruft es FB.login() auf und erwartet eine gültige resp.authResponse . Leider tut es dies auch nach erfolgreicher Authentifizierung auf dem Facebook-Popup / Tab. Stattdessen erhalten wir { authResponse: undefined, status: undefined } und den folgenden Fehler vom Browser:

  

Unsafe JavaScript versucht, die Navigation für Frames mit URL zu initiieren   " Ссылка "   aus Frame mit URL ' Ссылка '.   Der Rahmen, der die Navigation versucht, ist nicht identisch mit dem   Ziel, noch ist es der Elternteil oder Opener des Ziels.

Der Fehler tritt sofort nach der Authentifizierung im Facebook-Popup / Tab auf, und tritt nur bei Android Chrome auf . Desktop Chrome (auf einem Mac) zeigt nicht den gleichen Fehler. Bei Safari unter iOS wird der Fehler ebenfalls nicht angezeigt.

Irgendwelche Gedanken darüber, was vor sich geht? Warum der Unterschied zwischen Android Chrome und Desktop Chrome? Könnte es etwas mit dem Hash in der URL zu tun haben?

    
Agop 26.03.2017, 04:13
quelle

3 Antworten

1
___ antwort43203847 ___

Im Desktop kann dieses Problem durch die XFINITY Constant Guard Protection Suite Chrome-Erweiterung verursacht werden. Disble it und Problem wird gelöst.

Versuchen Sie in Android, XFINITY oder ähnliche Sicherheitserweiterungen oder Anwendungen zu entfernen (Norton Security Antivirus).

Ссылка

    
___ answer43208817 ___

Ich denke, es scheitert wegen der m.facebook.com / ... basierend auf dieser Ссылка (Siehe den Fall für Ссылка und warum es fehlschlägt). Obwohl es nicht basierend auf dem, was ich mit der fb api getan habe, das ist seltsam, versuchen Sie eine Anfrage cors stattdessen als Workaround?

    
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ answer43210019 ___

Dies ist ein bekanntes Problem hier Ссылка .

Wenn %code% ohne passende Argumente aufgerufen wird, wird es nicht wie erwartet geöffnet.

Es kann entweder durch Aktualisieren des Browsers (für den Client, überprüfen Sie die Browser-Version und wenn alt, zwingen Sie sie, es zu aktualisieren) überwunden werden.

Andernfalls (gilt nicht für Sie, da Sie die FB-Funktion nicht ändern können), übergeben Sie die richtigen Argumente an %code%

    
___ qstnhdr ___ FB.login () schlägt fehl mit "Unsicheres JavaScript versucht, die Navigation für Frame zu initiieren" auf Android Chrome, aber nicht auf Desktop Chrome ___ tag123googlechrome ___ Google Chrome ist ein Webbrowser, der das Blink-Rendering-Modul verwendet. Fragen sollten sich auf die Entwicklung mit Chrome oder Chrome beziehen. Fragen zur Verwendung von Chrome gehören zu https://superuser.com ___ tag123facebook ___ Mit der Facebook Platform können Entwickler ihre Apps direkt in den sozialen Netzwerkdienst von Facebook integrieren. Verwenden Sie dieses Tag für Fragen, die bei der Entwicklung von FOR Facebook auftreten können. Dieses Tag ist NICHT für Support-Fragen zur Nutzung der Facebook-Website oder der offiziellen Facebook-App gedacht. Es ist auch NICHT für Fragen der "Ich möchte ein Feature ähnlich wie Facebook hat" implementieren. ___ tag123crossdomain ___ Cross-Domain bezieht sich auf Webanwendungen, die außerhalb ihrer Hostingdomäne / ihres Webservers kommunizieren. Dies kann in Form von Netzwerkanforderungen an andere Server oder die gemeinsame Nutzung von Daten mit DOM-Komponenten aus verschiedenen Domänen auf der gleichen Webseite sein. ___ tag123facebookjavascriptsdk ___ Das JavaScript-SDK von Facebook bietet umfangreiche Funktionen für den Zugriff auf die serverseitigen API-Aufrufe von Facebook. Es kann mit jedem SDK wie PHP, C #, Java, Android, iOS usw. zusammenarbeiten ___ qstntxt ___

Ich habe einen Facebook JS SDK-Login-Flow hier: Ссылка

Wenn der Benutzer auf die Facebook-Schaltfläche klickt, wird die folgende Funktion ausgeführt:

%Vor%

Im Grunde ruft es %code% auf und erwartet eine gültige %code% . Leider tut es dies auch nach erfolgreicher Authentifizierung auf dem Facebook-Popup / Tab. Stattdessen erhalten wir %code% und den folgenden Fehler vom Browser:

  

Unsafe JavaScript versucht, die Navigation für Frames mit URL zu initiieren   " Ссылка "   aus Frame mit URL ' Ссылка '.   Der Rahmen, der die Navigation versucht, ist nicht identisch mit dem   Ziel, noch ist es der Elternteil oder Opener des Ziels.

Der Fehler tritt sofort nach der Authentifizierung im Facebook-Popup / Tab auf, und tritt nur bei Android Chrome auf . Desktop Chrome (auf einem Mac) zeigt nicht den gleichen Fehler. Bei Safari unter iOS wird der Fehler ebenfalls nicht angezeigt.

Irgendwelche Gedanken darüber, was vor sich geht? Warum der Unterschied zwischen Android Chrome und Desktop Chrome? Könnte es etwas mit dem Hash in der URL zu tun haben?

    
___
Sreeragh A R 04.04.2017 09:53
quelle
1

Ich denke, es scheitert wegen der m.facebook.com / ... basierend auf dieser Ссылка (Siehe den Fall für Ссылка und warum es fehlschlägt). Obwohl es nicht basierend auf dem, was ich mit der fb api getan habe, das ist seltsam, versuchen Sie eine Anfrage cors stattdessen als Workaround?

    
Daniel Persaud 04.04.2017 13:34
quelle
0

Dies ist ein bekanntes Problem hier Ссылка .

Wenn window.open ohne passende Argumente aufgerufen wird, wird es nicht wie erwartet geöffnet.

Es kann entweder durch Aktualisieren des Browsers (für den Client, überprüfen Sie die Browser-Version und wenn alt, zwingen Sie sie, es zu aktualisieren) überwunden werden.

Andernfalls (gilt nicht für Sie, da Sie die FB-Funktion nicht ändern können), übergeben Sie die richtigen Argumente an window.open

    
Sagar V 04.04.2017 14:24
quelle