Angular Js和Trigger.io – 不能跟随在iOS上运行的Android上的链接

我正在使用AngularJS和Trigger.io为iOS和Android开发移动应用程序。

当我尝试打开一个如下所示的链接:

<a ng-href="#/offers/{{featured_offer.Id}}"></a> 

它在iOS上工作得很好,但是在Android上,我在触发器控制台中得到了这个消息,链接没有被导航到:

 [WARNING] Attempted to open a URL which could not be handled: unsafe:content://io.trigger.forge722b6464a0e211e2ba9d12313d00dc45/src/index.html#/offers/8 

我怎么能得到这个在Android的工作相同,因为它在iOS中工作?

Solutions Collecting From Web of "Angular Js和Trigger.io – 不能跟随在iOS上运行的Android上的链接"

看起来像Angular增加了不安全性:对于它无法识别的urlscheme,我想你想包括像这样的东西:

 app.config(function($compileProvider){ $compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel|content):/); }); 

其中增加了内容:接受的urlscheme。

我有这个相同的问题,特别是试图显示与由forge.file.getImage返回的文件的src的img。 Angular添加不安全:对于本地img URL的内容:前缀,正如connorhd所说,您需要将内容添加到url白名单。

请注意,compileProvider的API已经改变了最新版本的Angular,所以我在这里评论,以防其他人发现此解决方法的更新版本有用。

 app.config(['$compileProvider', function($compileProvider) { $compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel|content|blob):|data:image|/); // note: you'll also have to do imgSrcSanitizationWhitelist if you want to use general links as well as ng-src on images. }]); 

我也有这个问题,只需在你的config.xml添加清洁剂

 var app = angular.module( 'myApp', [] ) .config( [ '$compileProvider', function( $compileProvider ) { $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/); // Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...) } ]);