我正在尝试编写AngularJS客户端专用应用程序。 我以为我也许可以通过在地址栏中输入以下内容从chrome加载它:file:/// C:/path/to/project//index.html我也尝试过用 –allow-file标志调用chrome从文件访问
不幸的是,什么都没有发生-只是选项卡名称上的繁忙标志正在起作用。 为什么不加载我的应用程序?
我正在使用以下代码:
index.html:
<!doctype html> <html ng-app="app"> <head> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-route.js"></script> <script src="app.js"></script> <title></title> </head> <body style="background-color: white;"> <h1>Index</h1> <a id="link" href="/login">Go to login</a> <ng-view></ng-view> </body> </html>
app.js:
angular.module('app', ['ngRoute']). config(function($routeProvider) { $routeProvider. when('/', {controller: HomeCtrl, templateUrl: 'app.html'}). when('/login', {controller: LoginCtrl, templateUrl: 'login.html', resolve: function() {}}). otherwise({redirectTo:'/'}); }); function HomeCtrl($scope) { $scope.numbers = [1,2,3,4,5]; } function LoginCtrl($scope) { }
app.html:
<div ng-controller="HomeCtrl"> <ul ng-repeat="number in numbers" > <li>{{number}}</li> </ul> </div>
编辑:
2种可能的解决方案:
关闭所有Chrome实例,然后从命令行运行: “ C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe” –allow- file-access-from-files –allow-file-access
运行不受此限制的Firefox(如@GeekBoy所述)
据我所知,谷歌浏览器不允许从文件系统运行javascript。但是我做了一个快速的谷歌搜索,发现了这一点。可能有用的 链接
在另一面,您可以使用Firefox。据我所知,Firefox没有这样的限制