2016-08-15 56 views
3

我需要创建一个组件来显示另一个网页的内容。Angular2创建一个显示外部网页内容的组件

因此,例如,如果我有站点的stackoverflow,我想创建一个组件,做一个http请求,并通过我的应用程序显示内容。顺便说一下,外部网站只是django-rest-swagger并访问它,我需要包括一个标题,每次我访问它。所以,当我提出外部网站内容的请求时,我需要包含头部x-forward-host。

<div> 
    <html> CONTENT OF EXTERNAL WEBSITE </html> 
</div> 

谢谢

回答

2
@Component({ 
    selector: ... 
    template: `<div [innerHTML]="fetchedHtml"></div> 
}) 
export class ExternalHtml { 
    constructor(http:Http) { 
    var headers = new Headers(); 
    headers.append('x-forwarded-host', 'foo'); 
http.get('someUrl', {headers: headers}).subscribe(response => { 
    this.fetchedHtml = response.json(); 
    } 
} 

见另外,您还可以使用iframe显示取出的HTML。

+0

可以看到我的回答我们实际上在组件的模板中加载/嵌入外部网站内容。如果是这样,你可以解释我们如何实现这一目标。 – mperle

+0

不像许多人期望的那样容易,但可能https://stackoverflow.com/questions/38888008/how-can-i-use-create-dynamic-template-to-compile-dynamic-component-with-angular有一个第三第三方项目将其包装在易于使用的组件中。对不起,不记得这个名字,但看到它在几个主题上提到这个话题 –

+0

好吧。让我检查一下,并尝试根据我的要求实施。 – mperle

0

可以按如下方式显示出来:

<div [innerHTML]="contentOfTheExternalWebsite"> 
</div>