javascript – WindowsPhone 8(phonegap)和AngularJs – $routeProvider不工作?

我的思绪消失了.我不知道我的代码有什么问题.

嗯,我会为此解释一下.

文件详情:

Cordova 2.9.1版本

angularjs 1.2.13版本(也使用最新版本(1.2.16)的所有版本)

我使用过Windows Phone 8 App

这是我的代码

App.js

'use strict';
window.myApp = angular.module('myApp', ['ajoslin.mobile-navigate', 'ngMobile',
    'myApp.Registermdl',
   'myApp.login', 'myApp.CreateUsermdl', 'myApp.viewMap', 'myApp.createMap',
'myApp.logout', 'ngProgress', 'ngCookies','ngRoute'])


myApp.config(function ($routeProvider, $compileProvider) {

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

    $routeProvider.when('/', { templateUrl: 'index.html', controller: 'IndexCtrl' });
    $routeProvider.when('/login', { templateUrl: 'app/login/login.html', controller: 'LoginCtrl' });
    $routeProvider.when('/home', { templateUrl: 'app/home/home.htm', controller: 'HomeCtrl' });
    $routeProvider.when('/createuser', { templateUrl: 'app/CreateUser/createUser.html', controller: 'CreateUserCtrl' });
    $routeProvider.when('/signup', { templateUrl: 'app/register/register.html', controller: 'RegisterCtrl' });
    $routeProvider.when('/logout', { templateUrl: 'app/login/login.html', controller: 'LogoutCtrl' });
    $routeProvider.when('/view-map', { templateUrl: 'app/ViewMap/viewmap.html', controller: 'ViewMapCtrl' });
    $routeProvider.when('/create-map', { templateUrl: 'app/CreateMapAddress/create-mapaddress.html', controller: 'CreateMapAddressCtrl' });
    $routeProvider.otherwise({ redirectTo: '/' });
});

myApp.controller('IndexCtrl', ['$rootScope', '$scope', '$location', '$route', '$cookieStore', '$cookies',
    function ($rootScope, $scope, $location, $route, $cookieStore, $cookies) {
        if ($cookieStore.get('userEmail') == undefined) {
            $rootScope.IsLogin = false;
            $rootScope.IsLogout = true;
            $rootScope.IsAdmin = false;
            $rootScope.userName = "";
            $scope.$apply();
            if ($location.$$path == "/signup") {
                $location.$$path = "/signup";
                $route.reload();
                return false;
            }
            $location.$$path = "/login";
            $route.reload();
            alert("goos Start5");
            return false;
        }
        $rootScope.IsAdmin = false;
        if ($cookieStore.get('userRole') == "Admin") {
            $rootScope.IsAdmin = true;
        }
        $rootScope.IsLogin = true;
        $rootScope.IsLogout = false;
        $rootScope.userName = $cookieStore.get('userEmail');
        $route.reload();

    }]);
//var hostname = 'qbsnewsvr/CollegeApp';
var hostname = 'localhost:54938/';
var rootUrl = 'http://' + hostname;

和索引页面(主页)

<!DOCTYPE html>
<html xmlns:ng="http://angularjs.org" lang="en" ng-app="myApp">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <!-- Use the .min version of bootstrap files in production -->
    <!-- Use the following if you want to use responsive design -->
    <link rel="stylesheet" type="text/css" href="dist/css/bootstrap-custom.css">
    <link rel="stylesheet" type="text/css" href="dist/css/toastr.min.css">
    <!-- Custom styles for this template -->
    <link rel="stylesheet" type="text/css" href="assets/css/style.css">
    <!-- Just for debugging purposes. Don't actually copy this line! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

    <!-- Scripts begins-->

    <script src="assets/js/jquery.min.js"></script>
    <script src="dist/js/bootstrap.js"></script>
    <script src="assets/js/offcanvas.js"></script>
    <link href="css/MSDList.css" rel="stylesheet" />
</head>

<body>
    <!-- The following tag is in place of ng-view to use the angular mobile view navigation framework
            https://github.com/ajoslin/angular-mobile-nav
        -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation" ng-controller="IndexCtrl">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">College App</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#/home">Home</a></li>
                    <li><a href="#/home">Contact</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li>
                                <form class="navbar-form" role="search">
                                    <div class="input-group">
                                        <input type="text" class="form-control input-sm" placeholder="Search" name="srch-term" id="srch-term">
                                        <div class="input-group-btn">
                                            <button class="btn btn-default btn-sm" type="submit"><i class="glyphicon glyphicon-search"></i></button>
                                        </div>
                                    </div>
                                </form>
                            </li>
                            <li class="divider"></li>
                            <li class="dropdown-header">Nav header</li>
                            <li><a href="#/home">Separated link</a></li>
                            <li><a href="#/home">One more separated link</a></li>
                        </ul>
                    </li>
                </ul>
                <div ng-show="IsLogin">
                    <p class="navbar-text welocome-aliginment">Welcome <a href="#" class="wecome-text" id="welcomeName">{{userName}}</a></p>
                </div>
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#/login" ng-show="IsLogout">Login</a></li>
                    <li><a href="#/signup" ng-show="IsLogout">SignUp</a></li>
                    <li><a href="#/createuser" ng-show="IsLogin && IsAdmin">Create New User</a></li>
                    <li class="active" ng-show="IsLogin"><a href="#/view-map">View Map</a></li>
                    <!-- <li class="active" ng-show="IsLogin"><a href="#/create-map">Create Map</a></li>-->
                    <li class="active" ng-show="IsLogin"><a href="#/logout">Logout</a></li>
                </ul>
            </div>
            <!--/.nav-collapse -->
        </div>
    </div>
    <div class="container" ng-view></div>
    <!-- Comment out the following 2 lines to test on the browser-->
    <script type="text/javascript" src="cordova.js"></script>

    <!-- In production use min versions -->
    <script src="js/q.js"></script>
    <script src="lib/angular/jx.min.js"></script>
    <script src="lib/angular/angular.js"></script>
    <script src="lib/angular/angular-route.js"></script>
    <script src="lib/angular/angular-mobile.js"></script>
    <script src="lib/angular/mobile-nav.js"></script>
    <script src="lib/angular/angular-cookies.min.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <!-- 3rd party libraries -->
    <script src="js/toastr.min.js"></script>
    <script src="lib/ngProgress/ngProgress.min.js"></script>
    <script src="lib/MSDList.js"></script>

    <!-- app js -->
    <!-- <script src="http://maps.google.com/maps?file=api&v=3&key=AIzaSyBbd_4N1j8WIoRJ0trcrqGLlo0a6T_e-bA"></script>-->
    <!-- <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&amp;ver=3.5.1"></script>-->

    <!-- <script src="lib/Clusterer2.js"></script>-->
    <!-- controller  -->
    <script src="js/app.js"></script>
    <script src="app/home/home.js"></script>
    <script src="app/register/register.js"></script>
    <script src="app/CreateUser/createUser.js"></script>
    <script src="app/login/login.js"></script>
    <script src="app/ViewMap/viewmap.js"></script>
    <script src="app/Login/logout.js"></script>
    <script src="app/CreateMapAddress/create-mapaddress.js"></script>
    <!-- logger -->
    <script src="js/logger.js"></script>
    <script type="text/javascript">
        app.initialize();
    </script>
</body>
</html>

我的代码在所有浏览器上运行良好.但只是没有在模拟器中工作.我尝试过很多方法.

我从Stack溢出中得到了一些答案

有这条线配置

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

但我已经这样做了.一切正常.但是$routeProvider不能在模拟器中工作.(这意味着页面不会重定向到索引页面).

我不知道.这是一个版本问题或任何冲突问题等…

任何人请帮助我

解决方法:

要修复窗口移动应用程序的angularjs路由,请为不安全添加“ms-appx”:ms-appx://.

$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|file|ms-appx):/)

原文地址:https://codeday.me/bug/20190703/1364859.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


公司前端界面用的是vue,我要嵌入到Android中生成App第一步:安装nodenode安装:直接进入官网https:/odejs.org/zh-cn/,下载最新版本安装。安装之后在命令行中使用”node-v”检查安装是否成功。npm安装:由于新版的nodejs已经集成了npm,所以node安装时npm也一并安装好了。同样可以通过输
Q:我用cordova开发项目,想在app内跳转外部链接,安装了cordova-plugin-inappbrowser后确实可以跳转,但是跳转的页面有个按钮,原本点击会下载app,现在点击后毫无反应,求大神解惑。A:已经找到解决办法了,把cordova.InAppBrowser.open的打开网页方式改为“_system”即可,即用手机默认浏览器打
我正在使用https://github.com/arnesson/cordova-plugin-firebase/在基于离子的应用上接收GoogleFirebase消息.设置证书后,安装插件并设置Firebase帐户我能够通过Firebase控制台接收通知(在Android和ios设备上).但是,当我通过FirebaseAPI(https://firebase.google.com/docs/clo
一、Cordova的基础点在混合式应用中,我们通过现有的Cordova插件,可以轻松的在H5上调用手机native的功能。现有的Cordova插件能满足平时大部分的开发需求,然而,有时候找不到合适的插件、或对找到的插件有不满意的地方,那就要动手去做或改写一个插件,这时候就要了解一些Cordova插件的
cordova自定义插件注意:存放自定义cordova插件目录不能有空格可能会报错cordova的安装下载node.js,安装完成后你可以在命令行中使用node和npm.安装cordova使用node.js的npm工具。打开控制台输入npminstall-gcordova-g是全局安装cordova。安装完成后就可以在命令行
一、问题VueAPP中有一个文件下载功能,用了各种方法来实现下载功能,app都没有反应。JS实现html页面点击下载文件这个博客里面几乎包含了我试过的大部分方法,发现PC端没问题,手机不可以。二、经过这些方法PC端没问题,安卓就不行,问了一个接触过安卓的后台小伙伴,说是
helloindex.html1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>我的App<itle>6<metaname="format-detection"content="telephone=no&q
1.plugman安装npminstall-gplugman如果提示permissiondenied需要加sudosudonpminstall-gplugman2.创建插件sudoplugmancreate--name插件名--plugin_id插件id--plugin_version0.0.13创建package.json文件cd上面床架的插件文件夹下,plugmancreate
最近学习了cordova插件,记录一下大概的过程,仅供参考。前期的配置就不记录了网上好多。在简书上从新写了一个更详细的cordova插件教程,有需要的可以点这里进去看看。第一步创建一个cordova项目输入命令:cordovacreate项目名包名例子:cordovacreatedemocom.zc.demo项目的大概目
我知道这个链接:https://cordova.apache.org/docs/en/latesteference/cordova-plugin-file/#where-to-store-files但我想将文件保存在Downloads目录中.这可以使用Ionic在任何路径中保存文件吗?如果是这样,请分享这个例子.这是代码:downloadImage(image){this.platform.ready(
我想在我的HTML5PhonegapJavaScript应用程序中添加状态栏通知.可能吗?解决方法:Ourteam已发布用于phonegapAndroid状态栏通知的插件.https://github.com/phonegap/phonegap-plugins/commits/master/Android/StatusBarNotification
使用cordova-plugin-geoloaction插件我正在检索用户在其移动设备上的位置.我的onSuccess()函数返回纬度和经度,现在我想在应用程序中显示相应的地址:<scripttype="text/javascript"charset="utf-8">//WaitfordeviceAPIlibrariestoload//document.addEventListe
我正在检查Android的PhoneGapAPI,并正在尝试相机示例应用程序示例并安装在我的Android手机(2.1GalaxyS)中.然而,在运行应用程序并拍照后,未检索到图像.根据我在代码中的理解,拍摄照片后,图像将显示在按钮下方60×60.我尝试在警报消息中打印出base64值,但我也没有得到任何响应(也
我刚刚在Eclipse中创建了一个包含所有phonegap和cordova文件的Android项目.但是,我没有这样的目录,因此没有config.xml.根据ApacheCordova文档,它应该位于:app/res/xml/config.xml.对于/res目录,我的文件夹结构如下:es/drawable-hdpies/drawable-ldpies/drawable-
我正试图在phonegap中设置一个新的开发环境.以下是我的路径变量设置在Windows中的外观:C:\Users\Mrinal\AppData\Roaming\npm;C:\android\development\sdk\platform-tools;C:\android\development\sdk\tools;C:\ProgramFiles\Java\jdk1.7.0_17\bin;C:\ant\bin现在在第三行
我正在将Worklight用于Android应用程序,当我尝试添加启动画面时publicclassMyAppextendsWLDroidGap{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);super.setIntegerProperty("splashscreen",
我正在创建一个可在所有3个移动平台(Android,iOSa和WindowsMobile8)上运行的HTML5移动应用程序.我正在使用javascript进行本地化(https://github.com/eligrey/l10n.js/#readme).该应用程序在浏览器上正常工作.但是当我在移动模拟器上部署它时,本地化不起作用.我认为问题是java
我有通过cordova成功构建的代码.但是,当我尝试模拟它时,我收到此错误“错误:cmd:命令失败,退出代码为1”.关于如何解决这个问题的任何想法?Hereismyoutputfromattemptingtoemulatethecode解决方法:我有同样的问题.看起来你没有任何AVD在运行.我不认为ionic的教程指定你需要这
我尝试添加各种标签并尝试添加相对路径:’//’这些是我尝试过的各种元标记<metahttp-equiv="Content-Security-Policy"content="default-src'self'"><metahttp-equiv="Content-Security-Policy"content="style-src'self''u
我正在Cordova/PhoneGap中编写一个应用程序,它试图使用Dropbox.js从Dropbox获取文件.Cordova版本为3.0.1,Dropbox.js版本为0.10.0.我的Javascript在桌面浏览器上工作得很好:varclient=newDropbox.Client({key:"<mykey>",secret:"<mysecret>"});client.authenticate