AngularJS で iframe の src 属性を動的に設定する
AngularJS で iframe を操作する場合、多くの場合、変数。ただし、標準の割り当てでこれを実行しようとすると、iframe で空の src 属性がレンダリングされる可能性があります。
問題と解決策について
試行すると問題が発生します。信頼できない URL を使用して src 属性を設定します。 AngularJS は、潜在的な XSS (クロスサイト スクリプティング) 攻撃を防ぐためのセキュリティ対策を実装しています。これを軽減するには、URL を割り当てる前に $sce (Strict Contextual Escaping) サービスを使用して URL を「信頼」する必要があります。
$sce サービスの trustAsResourceUrl() メソッドを使用して、明示的にマークを付けることができます。 URL を信頼できるものとして、AngularJS テンプレートで安全に使用できることを確認します。
コードの実装
提供されたコントローラー/app.js ファイルに、$sce を挿入します。サービスを AppCtrl に追加し、setProject() 関数を次のように変更します。
$scope.setProject = function (id) {
$scope.currentProject = $scope.projects[id];
$scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
}
HTML テンプレートで、currentProjectUrl 変数を参照するように iframe の src 属性を更新します:
説明
trustAsResourceUrl() を呼び出すことにより、URL は信頼できるものとしてマークされ、AngularJS テンプレートで安全に使用できるようになります。 ng-src ディレクティブは、信頼できる URL を使用して iframe の src 属性を設定します。
補足
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3