小编典典

AngularJS 在扩展页面中将 URL 更改为“不安全:”

all

我正在尝试将 Angular 与应用程序列表一起使用,每个应用程序都是一个链接,可以更详细地查看应用程序(apps/app.id):

<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>

每次我单击其中一个链接时,Chrome 都会将 URL 显示为

unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id

从哪里来unsafe:


阅读 66

收藏
2022-07-28

共1个答案

小编典典

您需要使用正则表达式将 URL 协议显式添加到 Angular
的白名单中。默认情况下仅启用httphttps和。当使用诸如.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 $compileProvider API
文档
了解更多信息。

2022-07-28