Bom dia.
É possível com o sistema de rotas do angular 2, ter uma rota que renderiza um conteúdo de uma site externo? Dentro do meu ?
Bom dia.
É possível com o sistema de rotas do angular 2, ter uma rota que renderiza um conteúdo de uma site externo? Dentro do meu ?
Isso mesmo Adriano! Angular 2 sofre das mesmas restrições de SOP que todo JavaScript que roda no browser sofre. No caso, vá de iframe
como Adriano indicou. Aliás, não deixe de marcar a resposta dele como solução. :)
Com <iframe>
eu sei que é possível.
Quero uma alternativa ao iframe. Como o angular implanta shadow dom talvez tenha uma outra forma de fazer isso.
Não há e nem poderia. A restrições de realizar uma requisição para um domínio e porta diferente da página que você esta acessando em Angular 2 é a mesma de qualquer aplicação Web basicona que trabalha com Ajax. Qualquer Browser é regido pelo SOP. Só é possível realizar requisições crossdomain (para outro site) usando Proxy ou CORS, ou o antigo JSONP. Como o <iframe>
é uma tag HTML ela não sofre a restrição do SOP.
Entendi. Elaborei mal a pergunta. Na verdade as aplicações estariam no mesmo domínio, mas, seriam SPA's diferentes. Ex: meudominio.com.br/spa1, e dentro dela chamar a meudominio.com.br/spa2.
Só com iframe mesmo?
Ah sim! Angular 1 e 2 não suportam 'nested app's`, aplicações aninhadas. Mas vamos refletir sobre seu problema e propor outra solução. Se as duas apps estão no mesmo domínio, quer dizer que você tem controle sobre a duas, certo? Porque você não exporta a funcionalidade que é comum entre as duas em um módulo e importa nas duas aplicações? Isso ajudará? Se não, vai de iframe mesmo.
Isso é o que tem hj. Mas, como existe muita atualização, sempre que eu atualizo o pacote comum tenho que versionar que usa, cria uma dependência de versionamento, e para piorar são equipes distintas que cuidam. Vamos de iframe....
Valeu.