我试图让Steam添加朋友'工作链接,但由于某种原因,我的卫生设施不起作用。我对角度(第一个应用程序)非常新,所以我可能会遗漏一些巨大/明显的东西。这是我添加到配置和我的HTML中的代码。我使用的是角1.1.5。下面的蒸汽链接显示为"不安全"并且不起作用。卫生设施似乎没有按预期运作。
提前致谢!
@app.config(['$routeProvider', ($routeProvider) ->
$routeProvider.
when('/casters', {
templateUrl: '../templates/casters/index.html',
controller: 'CasterIndexCtrl'
}).
otherwise({
templateUrl: '../templates/home.html',
controller: 'HomeCtrl'
})
],
['$compileProvider', ($compileProvider) ->
$compileProvider.urlSanitizationWhitelist(/^\s*(https?|steam|mailto|file):/);
])
<tr ng-repeat="caster in casters">
<td><a ng-href="steam://friends/add/{{caster.steam_id}}"><button type="button" class="butn btn-link">Add</button></a></td>
<td>{{caster.name}}</td>
<td><a href="http://twitch.tv/{{caster.twitch}}" target="_blank">{{caster.twitch}}</a></td>
<td>Column content</td>
</tr>
答案 0 :(得分:2)
您需要进行href清理:
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|steam):/);
这基本上是steam
附加到正则表达式in santizeUri.js
我相信 urlSanitizationWhitelist
在版本1.2中已更改?我记得有一个类似的问题让这个基于博客工作,只是在源头挖掘,直到我找到答案。当我遇到同样的问题时,有角度的文档已经失效,但看起来they have been updated有这些信息。
此外,请确保您将ngSanitize
作为依赖项并引用angular-sanitize.js
文件。
编辑:哦,我想念你,依靠1.1.5。我会看看我是否可以在该版本中追踪它。
编辑2:所以我只使用编译覆盖创建了a plunk以允许使用蒸汽,这样可以启动蒸汽。
然后,我注意到你将两个配置功能传递给.config
(我想,我不会读coffeescript)。
试试这个:
@app.config(['$routeProvider','$compileProvider', ($routeProvider, $compileProvider) ->
$routeProvider.
when('/casters', {
templateUrl: '../templates/casters/index.html',
controller: 'CasterIndexCtrl'
}).
otherwise({
templateUrl: '../templates/home.html',
controller: 'HomeCtrl'
})
$compileProvider.urlSanitizationWhitelist(/^\s*(https?|steam|mailto|file):/);
])
http://code.angularjs.org/1.1.5/docs/api/angular.Module
角1.1.5的文档非常糟糕。他们并没有真正清楚地解释整个阵列喷射器的事情。这个configFn
可以是单个函数,也可以是要注入函数(最后一个数组元素)的依赖项数组。