3

我正在尝试使用AngularJSAngular-UI在chrome App中使用以下 select2 示例。它工作正常,但不幸的是,每次单击下拉框时,我都会在 chrome 控制台中收到以下错误。 "拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:"default-src 'self' chrome-extension-resource:"。请注意,'script-src' 未明确设置,因此 'default-src'用作后备。

有什么建议我该如何解决这个问题?

谢谢

*此代码在浏览器中运行良好,没有任何问题,但在 chrome 应用程序
代码中没有:

控制器

 var app = angular.module("app", ['ui']);

function Ctrl($scope) {


    $scope.contacts = [
        {
        "id": 1,
        "name": "Lucky"},
       {
        "id": 2,
        "name": "Lance"},
    {
        "id": 3,
        "name": "Troels"},
    {
        "id": 4,
        "name": "Phe"}
    ];

}

看法

<select class="input-medium" ui-select2 ng-model="form.cont" type="text" value="" >
    <option ng-repeat="contac in all" value="{{contac.id}}">{{contac.name}}</option>               
</select>


解决了!
感谢@AlanRodriguesSoares 的提示。我已经从 gitub ( [link] https://raw.github.com/timoxley/select2/bug/onclick/select2.js ) 下载了另一个版本的 select2.js,这个问题在其中得到了修复。

4

2 回答 2

0

如果您查看 select2.js,内联设置了两个“onclick”事件,这是一个已知错误,请尝试删除它。select.js 第 1524 和 2232 行。

于 2013-01-29T14:48:04.730 回答
0

将指令 ng-csp 添加到您的元素:

<html ng-app ng-csp>
...

有了这个指令,AngularJS 就不会使用任何 CSP 禁止的动态 JS 代码,比如 eval 和 new Function。

于 2013-01-29T14:33:08.560 回答