2013-04-21 34 views
7

我使用AngularJS與Trigger.io開發iOS和Android的移動應用程序適用於Android的鏈接。角js和Trigger.io - 無法跟隨iOS上

當我嘗試打開一個鏈接,看起來像這樣:

<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的?

回答

9

貌似角增加了不安全:到URL方案不承認,我想你想包括像:

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

這增加了內容:已接受的URL方案。

+0

這確實它。我想通了這一點剛過終於發佈的問題,但必須等待8小時回答,因爲我沒有足夠的聲譽。所以它會發給你! – trentclowater 2013-04-22 07:26:21

+0

方法BTW已更名爲'aHrefSanitizationWhitelist' https://docs.angularjs.org/api/ng/provider/$compileProvider – tksfz 2014-06-05 21:22:01

1

我有同樣的問題,特別是與試圖顯示與由forge.file.getImage返回文件的SRC的IMG。角增加了不安全:將內容:本地IMG網址的前綴,並作爲connorhd說,你需要添加內容:在網址白名單。

注意compileProvider的API已與最新版本的角度改變了,所以我在這裏評論的情況下,任何人發現這種解決方法的更新版本非常有用。

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. 
}]); 
0

我也有這個問題,只需添加消毒劑在你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(...) 
    } 
]);