Cordova javascript无法在模拟器上运行

时间:2017-03-14 00:52:22

标签: javascript android jquery angularjs cordova

我正在尝试使用Cordova为Android构建一个AngularJS待办事项列表应用程序。如果我在浏览器中打开它,页面加载正常,但我无法在模拟器中运行任何任何脚本,除了我放在全局范围内的alert()s。这是我的index.html页面的代码....

#container {
position: absolute;
top: 0px;
right: 0px;
width: 400px;
height: 400px;
}
#left {
position: relative;
float: left;
width: 100px;
height: 100%;
background-color: rgba(255,0,0,0.8);
}
#right {
position: relative;
width:300px;
height: 100%;
float: right;
background-color: rgba(0,0,255,0.8);
}
#right-container {
position: relative;
float: left;
width: 50px;
height: 50px;
}
.object {
width: 50px;
height: 50px;
}

对于index.js页面:

<html>
    <head>

        <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="manifest" href="/manifest.json">
        <link rel="stylesheet" type="text/css" href="css/index.css">

        <title>To-do list</title>
    </head>
    <body>
        <div class="app" ng-controller="ToDoListController">
            <h1>Things to do.</h1>
            <ul>
                <li ng-repeat="item in list" ng-bind="item"></li>
            </ul>


        </div>
        <script type="text/javascript" src="../node_modules/jquery/dist/jquery.min.js"></script>
        <script type="text/javascript" src="../node_modules/angular/angular.min.js"></script>
        <script type="text/javascript" src="../platforms/android/platform_www/cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>

正如我所说的,如果我在index.js的全局部分放置一个alert(),它会触发,但没有别的。无论是在$(document).ready()内部还是在其外部,都不会执行angular bootsrap和jquery append函数。一切都在浏览器中正常工作。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

通过Kerri Shotts,在上面的评论中:

  

您需要将要获取的所有内容都放在www目录的本地。您的node_modules中的文件不会被复制,并且将在您的应用中丢失。因此,部分问题。另一个问题是你应该只使用src =“cordova.js”来源cordova.js;构建应用程序时将提供相应的文件。

这很有用。谢谢!