相关疑难解决方法(0)

仅支持HTTP的跨源请求

我正在尝试运行此代码:

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <title>Exemple 06</title>
</head>
<body>
    <!-- Diretiva ng-repeat -->
    <div ng-controller="MyController">
        <a ng-href="#/">Page 1</a> | <a ng-href="#/p2">Page 2</a>
        <div ng-view="#/p2"></div>
    </div>

    <script src="js/angular.js"></script>
    <script src="js/angular-route.js"></script>
    <script type="text/javascript">
        var myApp = angular.module('myApp', ['ngRoute']);

        myApp.config(function($routeProvider){
            $routeProvider
                .when('/'  , {controller: 'MyController', templateUrl: 'p1.html'})
                .when('/p2', {controller: 'MyController', templateUrl: 'p2.html'})
                .otherwise({ redirectTo: '/'});
        });

        myApp.controller('MyController', function($scope){
            $scope.nomes = [
                {id: 1, nome: 'Arthur'},
                {id: 2, nome: 'Portos'},
                {id: 3, nome: 'Aramis'}
            ];
        });
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

但是会出现以下错误:

XMLHttpRequest无法加载file:///home/93579551515/Desktop/Angular/p1.html.仅支持HTTP的跨源请求.

我不想在网络服务器上运行它.

angularjs angularjs-routing

10
推荐指数
1
解决办法
3万
查看次数

使用AngularJS及其RouteProvider的纯本地单页应用程序

我目前正在尝试构建一个运行在闪存驱动器上的"Web应用程序",因此没有任何其他环境需要启动带有一些启动选项的chrome以及闪存驱动器上index.html文件的路径.

我在使用file://协议加载文件而不是通过Web服务器加载angularJS时遇到了一些麻烦.

我已经通过将html5模式设置为true来加载本地资源(如视频)但我目前无法使用路由提供程序.

这就是我所拥有的:var testApp = angular.module("testApp",['angular-underscore',"ngRoute","com.2fdevs.videogular"]);

testApp.config(function($locationProvider, $routeProvider) {
    $locationProvider.html5Mode(true);
  $routeProvider.when('/', {template: '/views/MainView.html', controller: "VideoPlayerController" })
.otherwise({redirectTo:'/'});;
});
Run Code Online (Sandbox Code Playgroud)

每当我通过双击文件在Chrome中加载我的index.html文件时,网址就会以"file://"开头.当我通过命令行使用基本选项"--allow-file-access-from-files" 启动时,也会发生这种情况.

如何通过file://使routeProvider按预期工作?除非我将以下内容添加到index.html中的head标签,否则它目前无法识别"其他"路径

<base href="/index.html">
Run Code Online (Sandbox Code Playgroud)

但最终结果是

file:///
Run Code Online (Sandbox Code Playgroud)

在Chrome的网址字段中.所有其他资源都无法加载.下面是一个我只看到一个控制器组合的错误的例子.

GET file:///index.html net::ERR_FILE_NOT_FOUND 
Run Code Online (Sandbox Code Playgroud)

谢谢!(我知道如果我愿意使用网络服务器,我的所有问题都会消失,但我现在不允许进入这个项目)

javascript html5 google-chrome chromium angularjs

5
推荐指数
1
解决办法
4484
查看次数