相关疑难解决方法(0)

AngularJS在扩展页面中将URL更改为"unsafe:"

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

<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>
Run Code Online (Sandbox Code Playgroud)

每次我点击其中一个链接时,Chrome都会将网址显示为

unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id
Run Code Online (Sandbox Code Playgroud)

unsafe:来自哪里?

javascript security google-chrome-extension angularjs

183
推荐指数
3
解决办法
9万
查看次数

使用javascript:void(0); angularjs unsafe ng-href;

我对这篇文章有类似的问题.

但添加"javascript"答案中提出的内容并没有解决我的问题:

$compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|javascript):/);
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像:

<a ng-href="{{var1 ? '/home' : 'javascript: void(0);'}}" ng-bind="var2"></a>
Run Code Online (Sandbox Code Playgroud)

但是在网址中,它产生了一个 unsafe:javascript: void(0);

angularjs

16
推荐指数
2
解决办法
2万
查看次数

Angular在尝试下载文件时向url添加"unsafe"

我有一个小的AngularJS应用程序,我试图打开上传的图像,并遇到角度在URL的开头添加"unsafe:"的问题.我在我的应用配置中添加了以下行来清理URL,但它对我不起作用:

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob:chrome-extension):|data:image|\//);
Run Code Online (Sandbox Code Playgroud)

我正在使用Angular v1.3.0,所以我使用正确的属性名称.我主要使用Chrome,但我在其他浏览器中遇到同样的问题.此外,我的图像的开头看起来像这样:

unsafe:data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUg...
Run Code Online (Sandbox Code Playgroud)

知道我的正则表达式中缺少什么吗?提前致谢!

javascript regex unsafe download angularjs

11
推荐指数
1
解决办法
1891
查看次数

使用$ compileProvider来避免不安全的链接

我可以毫不费力地注入$ scope和$ location以及$ routeProvider之类的东西,为什么$ compileProvider不同?

根据这个答案,我明白我必须指示angular不要为某些链接添加前缀(在我的情况下是短信),但我不能在我的项目中应用答案.它说我应该添加这个:

angular.module('myModule', [], function ($compileProvider) {
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);
});
Run Code Online (Sandbox Code Playgroud)

但Chrome控制台说:

"angular.js:68 Uncaught Error:[$ injector:unpr]未知提供者:$ compileProviderProvider < - $ compileProvider"

那个"提供者 - 提供者"的东西让我觉得服务的真实名称只是$ compile(而且这个角度正在"提供者"后缀上:

angular.module('myModule', [], function ($compile) {
    $compile.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);
});
Run Code Online (Sandbox Code Playgroud)

但是,可以预见,我猜,我得到:

angular.js:13550 TypeError:$ compile.aHrefSanitizationWhitelist不是函数

javascript angularjs

1
推荐指数
1
解决办法
2514
查看次数