我正在尝试将 Angular 与应用程序列表一起使用,每个应用程序都是一个链接,可以更详细地查看应用程序(apps/app.id):
apps/app.id
<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>
每次我单击其中一个链接时,Chrome 都会将 URL 显示为
unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id
从哪里来unsafe:?
unsafe:
您需要使用正则表达式将 URL 协议显式添加到 Angular 的白名单中。默认情况下仅启用http、https和。当使用诸如.ftp``mailto``unsafe:``chrome-extension:
http
https
ftp``mailto``unsafe:``chrome-extension:
将协议列入白名单的好地方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:。
file:
tel:
请参阅 AngularJS $compileProvider API 文档了解更多信息。