正規表現を使用して、URLプロトコルをAngularのホワイトリストに明示的に追加する必要があります。デフォルトではhttp
、、、およびのみが有効になっています。Angularは、などのプロトコルを使用する場合、ホワイトリストに登録されていないURLの前にプレフィックスを付けます。https
ftp
mailto
unsafe:
chrome-extension:
chrome-extension:
プロトコルをホワイトリストに登録するのに適した場所は、モジュールの構成ブロックです。
var app = angular.module( 'myApp', [] )
.config( [
'$compileProvider',
function( $compileProvider )
{
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
// Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
}
]);
file:
およびなどのプロトコルを使用する必要がある場合にも、同じ手順が適用されますtel:
。
詳細については、AngularJS $compileProviderAPIのドキュメントを参照してください。