2016-08-02 14 views
4

Ich möchte nur das FirebaseUI Auth Widget auf meiner Anmeldeseite (gesteuert über ngRoute) einfügen.Firebase UI Auth Widget in der angularen Anwendung

jedoch der Top-Level-JS diesen Fehler auf allen anderen Seiten wirft:

„nicht erfasste Fehler:. Kann das Firebase UI-Widget-Element auf der Seite finden“

Während der Fehler technisch korrekt ist, ist es ärgerlich, da das Widget nicht auf allen Seiten sein sollte.

Hat jemand an eine nette Möglichkeit gedacht, dies zu unterdrücken?

Danke, Ned

Antwort

-3

Sie benötigen Firebase Auth auf allen Seiten zu arbeiten, die eine Authentifizierung erfordern, deshalb werden Sie die Firebase Web SDK/Javascript für diese Seiten geladen haben müssen. Gibt es, da das Widget-Element nicht vorhanden ist, keine Elemente, die für das Widget benötigt werden?

Wenn ja, fügen Sie sie hinzu. Wenn dies nicht der Fall ist, sollten sie automatisch vom SDK geladen werden (wie beim Laden von iFrames im regulären Web-SDK). Die Konsole sagt dir, dass die Elemente fehlen.

Ich weiß, dass Sie reichere Fehlerbehandlung/Nachrichten bekommen, wenn Sie die Firebase-Skripts gegen das Laden sie über CDN hosten. Du könntest es versuchen.

Wenn Sie die Widget-Elemente ausblenden möchten, scheint es, als könnte CSS display:none Sie die !important Deklaration hinzufügen müssen.

+1

Danke. Ich verwende Firebase Auth auf allen Seiten, und das ist in Ordnung. Ich spreche über Firebase Auth UI (separates Skript). Das ist die wörtliche Login-Box ("Klicken Sie hier, um sich mit Facebook anzumelden", usw.). Das will nur auf einer Seite sein. Ich könnte es auf alle Seiten legen und dann auf der Login-Seite verstecken, aber das ist ziemlich lahm. –

+0

Downvote, weil dies die Frage überhaupt nicht behandelt und die Frage selbst ignoriert. –