12

Mam aplikację kątową, która ma wszystkie rodzaje zależności, takie jak moduły i style.Dołącza aplikację kątową do elementu div w innej domenie, bez ramki iframe

Z drugiej strony mam wiele stron internetowych, na których chcę umieścić tę aplikację we wszystkich zależnościach (tak jak w ramce iFrame). Chcę umieścić aplikację w div (tak jakby była iframe), ale musi to być div, no iFrame, więc te inne strony mogą wybrać własny styl dla aplikacji inline.

W ten sposób mogę zezwolić każdej witrynie na dołączenie aplikacji, gdy dodaję ją do mojego CORS. Podobnych:

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

Wszystkie trasy wewnątrz tego div.

Nie wiem, od czego zacząć, po przeczytaniu dużej dokumentacji. Każda pomoc będzie doceniona!

+0

Nie wiem, jak ci może to zrobić z ng-include, ale z ng-routerem możesz to zrobić . Musisz tylko znać dokładny identyfikator URI fragmentu kodu HTML, który chcesz uwzględnić. – Kaspar

+0

Wychodząc z tematu, ale nadal powinieneś użyć strony (w witrynach dostawców), w której zdefiniujesz swoją aplikację i wszystkie zadeklarowane zależności, zewnętrzne css, bla, bla. Ta strona będzie używana jako IFrame na całej stronie. Łatwe rozwiązywanie problemów (zaimplementowane na pojedynczej stronie), Kwestie bezpieczeństwa CORS, pokonanie tej samej domeny, a także na reakcję Iframes use: http://npr.github.io/responsiveiframe/, to jest czyste lenistwo, a IFRAME to tani i trochę niepoprawne podejście. – SilentTremor

+0

Czy zamierzasz dodać tę aplikację również do stron nieobrotowych? –

Odpowiedz

2

Dlaczego nie owinąć aplikacji we własny moduł i nie utworzyć dyrektywy, aby z niej skorzystać? Następnie wymagaj tego modułu w innych, kanciastych aplikacjach. Czy to nie jest czystsze?

+0

Opcja zawiera menu z własnymi trasami/widokami częściowymi. Tak więc routing wil zmieni również wszystkie adresy URL w innej domenie. –

1

Nie jest to możliwe, ponieważ gdy Angular JS wykonuje cykl podsumowania, ma on cały dokument, zakładając, że w dokumencie znajduje się tylko jedna aplikacja.

Sposobem podejścia do udostępniania aplikacji za pomocą Angular jest zaprojektowanie dobrze modulowanych aplikacji, a następnie można załadować i dołączyć wymagane moduły z innych aplikacji kątowych.

0

spróbować zrobić poniżej rzeczy

  • Tworzenie aplikacji i przypisać go do modułu np angular.module ("sub-application"). controller(). config();
  • Zdefiniuj swoich tras/partials/kontrolery itp
  • Wystarczy dostęp do modułu głównego aplikacji, dzięki czemu można wstrzykiwać nazwę tego modułu
  • chcesz uruchomić aplikację do nurkowania tylko więc przypisać sub- kontroler aplikacja do tego nurkowania
  • Inną opcją jest zamiast używać ngRoute lub uI-trasy dla stanów i partials użyć jQuery aby ukryć lub przełączać się między wieloma funkcjami views.Other można obsługiwać z kanciastych kontrolerów