Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Rotas para links externos

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 ?

8 respostas

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.

Se quiser saber mais sobre SOP:

https://en.wikipedia.org/wiki/Same-origin_policy

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.

solução!

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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software