を使用Angular 1.2+
して、iFrameにロードする「角度のある」方法を考え出そうとしていますが、これに関するチュートリアルや実際の議論はどこにもありません。
基本的に、リンクのリストを表示する検索ページがあります。リンクをクリックすると、検索結果を表示したまま iFrame に (おそらく $http サービスを介して) データをロードするコントローラーの関数が呼び出されます。
ここにいくつかの基本的なコードがあります(これまで実際に使用iFrames
したことがないため、これが完全に間違っている場合はお詫びします)
意見
<div ng-controller="searchPage">
<div ng-repeat='post in searchResults'>
<a ng-click="itemDetail(post._infoLink)">Here's a link!</a>
</div>
<div class="detailView" ng-show="itemShown">
<iframe ng-src="detailFrame"></iframe>
</div>
</div>
コントローラ
$scope.itemDetail = function(link){
$scope.itemShown = true;
$scope.busy = true;
$http.get(link).success(function(data){
$scope.busy = false;
$scope.detailFrame = data;
});
}
このコードは現在、次のエラーを返します。
XMLHttpRequest cannot load <url>. Origin http://localhost:5000 is not allowed by Access-Control-Allow-Origin.
これらの線に沿ったシンプルなものが理想的です。上記の (試行された) 例では、検索結果は画面にとどまり、サイドバーにプッシュされますが、iFrame は (別のドメインの) 外部サイトでページの大部分に読み込まれます。
これはAngularでどのように達成できますか?
mydomain.com/cloakinglink
追加の警告: iFrameにロードするリンクはアフィリエイト リンクであるため、多くの場合、それらの間に「仲介者」ドメインがありwww.zanox.com/whatever
ますwww.asos.com/whatever
。