私は単純な角型のアプリケーションを書いています。ブラウザのようなものにしたいと思います。入力ボックスのユーザーはurlを入力できます。iframeにURLの内容を表示できます。ユーザーは戻ることができます。iframe以外の履歴を操作する方法
iframeで$ sceからng-srcを使用して、ウェブサイトのユーザー入力を受け入れます。しかし、CORSの問題のために履歴の機能を実装することはできません。
これを達成する可能性はありますか?おかげリンクとして従うことだけで安全ではないURLについて
JS
$scope.testurl = $sce.trustAsResourceUrl("http://www.baidu.com");
$scope.backPage = function() {
var ifr = document.getElementById("myIframe");
ifr.contentWindow.history.back();
}
HTML
<ion-view view-title="Account">
<ion-content>
<div ng-click="backPage()">BACK</div>
<iframe id="myIframe" style="height:500px;width:100vw" ng-src="{{testurl}}"></iframe>
</ion-content>
</ion-view>
エラー
Error: Blocked a frame with origin "http://localhost:8101" from accessing a cross-origin frame.
at Error (native)
at Scope.$scope.backPage (http://localhost:8101/js/controllers.js:32:24)
at fn (eval at compile (http://localhost:8101/lib/ionic/js/ionic.bundle.js:27638:15), <anonymous>:4:215)
at http://localhost:8101/lib/ionic/js/ionic.bundle.js:65427:9
at Scope.$eval (http://localhost:8101/lib/ionic/js/ionic.bundle.js:30395:28)
at Scope.$apply (http://localhost:8101/lib/ionic/js/ionic.bundle.js:30495:25)
at HTMLDivElement.<anonymous> (http://localhost:8101/lib/ionic/js/ionic.bundle.js:65426:13)
at defaultHandlerWrapper (http://localhost:8101/lib/ionic/js/ionic.bundle.js:16787:11)
at HTMLDivElement.eventHandler (http://localhost:8101/lib/ionic/js/ionic.bundle.js:16775:9)
at triggerMouseEvent (http://localhost:8101/lib/ionic/js/ionic.bundle.js:2953:7)
ことが可能であり、ここでの議論と、それに関連するいくつかのトラブル:http://stackoverflow.com/questions/3254985/back-and-forward-buttonsイン・アン・イン・フレーム –