Steam:// 链接不"unsafe"



我正在尝试让 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>

您需要 href 清理:

$compileProvider.aHrefSanitizationWhitelist(/^s*(https?|ftp|mailto|tel|file|steam):/);

这基本上是在 santizeU 中的正则表达式中附加steam.js

我相信urlSanitizationWhitelist在 1.2 版中发生了变化?我记得有一个类似的问题,让它基于博客工作,只是在源代码中挖掘,直到我找到答案。当时我遇到了同样的问题,angular的文档已经关闭,但看起来它们已经更新了这些信息。

此外,请确保将ngSanitize作为依赖项和引用angular-sanitize.js文件包含在内。

编辑:哦,我想念你在 1.1.5 上。我会看看我是否可以在该修订版中追踪它。

编辑 2:所以我创建了一个只包含编译覆盖以允许 steam 的 plunk,这可以启动 steam。

然后,我注意到你正在向.config传递两个配置函数(我想,我不读咖啡脚本)。

试试这个:

@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是单个函数,或者是要注入到函数(最后一个数组元素)中的依赖项数组。

相关内容

  • 没有找到相关文章