2017-09-16 8 views
1

私はiframe要素を持つコンポーネントを持っています。元のurlにsrc属性を設定し、そこからユーザーがナビゲートできます。同じドメインにいると仮定して、ユーザーがナビゲートする新しい場所を購読したいと思います。非角型ソリューションでは、iframeにonloadイベントを設定することを説明していますが、iframe内に(アンロード)イベントをアングルで配置することは、iframe内にナビゲーションイベントがあるたびに。私は非常に醜い、ハックソリューション製:角度アプリでiframeの場所の変更を登録するにはどうすればよいですか?

Observable 
 
     .interval(200) 
 
     .map(x => this.iframe.nativeElement.contentWindow.location.pathname) 
 
     .distinctUntilChanged() 
 
     .subscribe(url => { 
 
     console.log(url); 
 
     });

をしかし、これは控えめに言っても次善のようです。ポーリングを伴わないより良いソリューションはありますか?

答えて

0

最後に、iframeのコードがURLの変更を知っているため、これを制御できますので、これを行う必要はありませんでした。したがって、url変更イベントでは、iframeの親にpostMessageを渡すことができます。だからこれはポーリングよりも優れている、それは本当にリアルタイムです。

関連する問題