12

Ich habe eine eckige Anwendung, die alle Arten von Abhängigkeiten wie Module und Stile hat.Fügen Sie eine eckig app in einem div auf einer anderen Domäne, kein iframe

Auf der anderen Seite habe ich mehrere Websites, wo ich diese Anwendung mit allen Abhängigkeiten (wie Sie in einem iFrame) haben möchten. Ich möchte die App in ein div (als ob es ein iframe ist), aber ich muss ein div, kein iFrame sein, so dass diese anderen Websites ihren eigenen Stil für die Inline-Anwendung wählen können.

Auf diese Weise kann ich jede Website die App hinzufügen, wenn ich es zu meinem CORS hinzufügen. Like:

<div ng-include="app_from_other_domain"></div> 

Mit all das Routing innerhalb dieses div.

Ich weiß nicht, wo ich anfangen soll, nachdem ich viel Dokumentation gelesen habe. Jede Hilfe wäre willkommen!

+0

nicht sicher, wie Sie behandeln können könnte es mit ng-include tun, aber mit ng-router können Sie es vielleicht tun . Sie müssen nur die genaue URI des HTML-Snippers kennen, den Sie einschließen möchten. – Kaspar

+0

Aus dem Thema heraus, aber immer noch, sollten Sie Seite (auf Anbietern Websites) verwenden, wo Sie Ihre App und alle Abhängigkeiten deklariert, externe CSS, Blah, Blah. Diese Seite wird als IFrame über die gesamte Website verwendet. Einfach zu beheben Probleme (in einer einzigen Seite implementiert), Sicherheitsfragen CORS, gleiche Domäne zu überwinden, sowie für die Reaktionszeit Iframes verwenden: http://npr.github.io/responsiveiframe/, das ist pure Faulheit, und IFRAME ist eine billige und ein bisschen falscher Ansatz. – SilentTremor

+0

Werden Sie diese Anwendung auch auf nicht eckigen Websites hinzufügen? –

Antwort

2

Warum nicht die App in ein eigenes Modul zu verpacken und eine Richtlinie zu erstellen, um es zu verwenden? Dann brauchen Sie nur dieses Modul in Ihren anderen eckigen Apps. Ist das nicht sauberer?

+0

Das Include hat ein Menü mit eigenen Routing/Teilansichten. Das Routing ändert also auch alle URLs auf der anderen Domain. –

1

Dies ist nicht möglich, da Angular JS einen Digest-Zyklus ausführt, wenn es sich um ein dokumentenweites Dokument handelt, immer vorausgesetzt, dass nur eine Anwendung in Ihrem Dokument vorhanden ist.

Der App-Sharing-Ansatz mit Angular ist so zu gestalten, dass Ihre App-Module gut moduliert werden und Sie dann die benötigten Module aus anderen eckigen Anwendungen laden und einbinden können.

0

Versuchen unten Dinge

  • Erstellen Sie Ihre Anwendung und weisen Sie es tun zum Beispiel Modul angular.module ('Unteranwendung'). controller(). config(); Definieren
  • Ihre Routen/partials/Controller usw.
  • Sie nur Zugang zum Hauptmodul der Anwendung benötigen, so dass Sie Ihren Modulnamen
  • darin injizieren
  • Sie möchten Ihre Anwendung für Tauch laufen nur so sub- zuweisen Anwendungssteuerung auf diesen Tauchgang
  • Andere Option ist statt ngRoute oder ui-Route für die Staaten mit und partials verwenden jquery zwischen mehreren views.Other Funktionalität zu verbergen oder schalten Sie mit Winkel Controller
Verwandte Themen