我使用Cordova和JQuery mobile为Android创建了一个应用程序。当我使用谷歌浏览器测试运行代码时,它运行良好,但是当我尝试在cmd
(locate>cordova emulate android
)中使用android studio在Android模拟器上运行它时,它不起作用。
当我尝试在模拟器上运行它时,我得到:
“与服务器的连接失败。(file:///android_asset/www/index.html)”
但如果我不使用JQuery,它可以正常工作。我没有修改JQuery或JQuery mobile中的任何代码。
<head>
<-- import jquery and codovar -->
<link rel="stylesheet" href="./css/jquery.mobile-1.4.5.min.css" />
<-- if i remove this 3 line of code below program is working as same as open with google chrome -->
<link rel="stylesheet" href="./css/jquery.mobile-1.4.5.min.css" />
<script src="./js/jquery-2.1.4.min.js"></script>
<script src="./js/jquery.mobile-1.4.5.min.js"></script>
<--end remove here -->
<script type="text/javascript" src="./js/Login.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role ="header" style="background-color: #00CCA5;">
<h1 style="color: #FAF0BA; text-shadow: None; text-align: center;">LogIn</h1>
</div>
<div data-role ="main" class="ui-content" >
<div align="center">
<label>id:</label>
<input type="text" id="login_id">
<br>
<label>password:</label>
<input type="password" id="login_password">
<div id="wrong" style="color: red;"><br></div>
</div>
<button style="background-color: #FAF0BA; color:#00CCA5;" data-role ="button" data-icon ="forward" id="let_login">Log in</button>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>
这里是login.js
$(document).ready(function () {
$("#let_login").on("tap",
function () {
var id = $("#login_id").val();
var password = $("#login_password").val();
if (id == "test" && password == "password") {
document.location.href = "./customer.html";
//$.mobile.changePage("./customer.html");
}
else {
$("#wrong").html("Wrong id and/or password");
}
});
});
这里是MainActivity.java
(读过一些旧帖后修改过的文件,但仍然无效)
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//modify line below
super.setIntegerProperty("loadUrlTimeoutValue", 70000);
//end modify line
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
}
PS。这是我第一次使用Cordova和JQuery
答案 0 :(得分:7)
当网页无法加载/无法访问时会发生此错误。
要解决此问题,请创建一个新的html文件
<强> main.html中强>
<polymer-element name="hover-button" extends="paper-button" hover?="{{hover}}">
<template>
<shadow></shadow>
</template>
<script>
(function(){
Polymer('hover-button', {
ready: function(){
this.addEventListener('mouseover', function(){ this.hover = true; }.bind(this));
this.addEventListener('mouseout', function(){ this.hover = false; }.bind(this));
},
activeChanged: function(){ /* foo */ },
hoverChanged: function(){ /* bar */ }
});
})();
</script>
</polymer-element>
并将启动网址保留为config.xml
中的 main.html<!doctype html>
<html>
<head>
<title>tittle</title>
<script>
window.location='./index.html';
</script>
<body>
</body>
</html>
这将修复
答案 1 :(得分:1)
我建议首先检查一下config.xml,你可以在其中指定应用的起始页面。它必须是指向&#34; index.html&#34;我认为您的页面被称为&#34; Login.html&#34; (只是一个猜测) 该部分看起来像这样
<content src="your_page.html" />
&#13;
只需更改该部分即可。 如果这部分设置正确,那么Mohhamed Imran N的方法可行,我已对其进行了测试。 希望这会有所帮助。
答案 2 :(得分:0)
我使用了以下内容:
<content src="./index.html" />
只需在页面地址前添加./
,就可以了!