PhoneGap Android jQuery移动应用程序在没有CSS/JS的设备上运行
我有一个Phonegap(Cordova 2.0.0)应用程序,是为Android开发的,运行jQuery Mobile+Backbone.js。当我在模拟器上测试它时,它工作正常(在浏览器中运行,CSS和JS出现,等等) 当我在非调试设备上签名并安装它时,它运行,但没有CSS和JS(因此基本上显示了一个不运行JS的非样式HTML文档) 我的应用程序主体如下所示:PhoneGap Android jQuery移动应用程序在没有CSS/JS的设备上运行,android,cordova,jquery-mobile,Android,Cordova,Jquery Mobile,我有一个Phonegap(Cordova 2.0.0)应用程序,是为Android开发的,运行jQuery Mobile+Backbone.js。当我在模拟器上测试它时,它工作正常(在浏览器中运行,CSS和JS出现,等等) 当我在非调试设备上签名并安装它时,它运行,但没有CSS和JS(因此基本上显示了一个不运行JS的非样式HTML文档) 我的应用程序主体如下所示: <!DOCTYPE html> <html> <head> <title>M
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta charset="utf-8">
<link rel="stylesheet" href="libraries/jquery.mobile-1.1.1.min.css" />
<link rel="stylesheet" href="assets/css/style.css" />
<script src="http://localhost:8080/target/target-script-min.js#anonymous"></script>
<script type="text/javascript" charset="utf-8" src="libraries/cordova-2.0.0-ios.js"></script>
<script src="libraries/jquery-1.7.2.min.js"></script>
<script src="libraries/underscore.js"></script>
<script src="libraries/backbone-min.js"></script>
<script src="libraries/backbone.localStorage-min.js"></script>
<script src="libraries/detect.js"></script>
<script type="text/javascript" src="libraries/sha1.js"></script>
<script type="text/javascript" src="app.js"></script>
<script type="text/javascript">
var jqmReady = $.Deferred();
var deviceReady = $.Deferred();
/**
* on load - manages dependency between jquery mobile and phonegap
*/
function onBodyLoad()
{
// get device
$.os = {};
$.os.android = navigator.platform.indexOf("android")>=0;
$.os.ios = navigator.platform.indexOf("iPhone")>=0 || navigator.platform.indexOf("iPad")>=0;
// listen to device ready
if ($.os.android || $.os.ios) {
document.addEventListener("deviceready", deviceReady.resolve, false);
}
else {
// must be in a browser, so immediately resolve
deviceReady.resolve();
}
}
$(document).bind("mobileinit", jqmReady.resolve);
$(document).bind("mobileinit", function() { console.log('mobileinit'); });
$(document).bind('pageinit', function() { console.log('pageinit'); });
// when jquery mobile and device ready, then fire
$.when(jqmReady, deviceReady).then(function() {
console.log('Ready');
// disable push state: http://jquerymobile.com/demos/1.1.1/docs/pages/page-links.html
$.mobile.pushStateEnabled = false;
App.init();
});
onBodyLoad();
</script>
</head>
<body onload="" data-lat="" data-lng="">
我的应用程序
var jqmReady=$.Deferred();
var devicerady=$.Deferred();
/**
*加载-管理jquery mobile和phonegap之间的依赖关系
*/
函数onBodyLoad()
{
//获取设备
$.os={};
$.os.android=navigator.platform.indexOf(“android”)>=0;
$.os.ios=navigator.platform.indexOf(“iPhone”)>=0 | | navigator.platform.indexOf(“iPad”)>=0;
//收听设备就绪
if($.os.android |$.os.ios){
文件。添加的监听器(“DeviceRady”,DeviceRady.resolve,false);
}
否则{
//必须在浏览器中,因此立即解决
devicerady.resolve();
}
}
$(document.bind(“mobileinit”,jqmReady.resolve);
$(document.bind(“mobileinit”,function(){console.log('mobileinit');});
$(document.bind('pageinit',function(){console.log('pageinit');});
//当jquery移动设备和设备准备就绪时,启动
$.when(jqmReady,devicerady).then(function(){
console.log('Ready');
//禁用推送状态:http://jquerymobile.com/demos/1.1.1/docs/pages/page-links.html
$.mobile.pushStateEnabled=false;
App.init();
});
负重();
以前有人见过这个吗?我想知道这是否和相对路径(而不是绝对路径)有关,或者我如何在Eclipse中将其打包在一起。此外,在iPhone上也可以正常工作
谢谢。如何包含css和js文件?如果您显示整个HTML文件(直到body标记足够),可能会更好:)哦,对不起,我只粘贴了其中的一部分,我现在已经编辑了body。我应该进一步提到,我已经查看了APK(解压缩)的内容,所有CSS文件都在那里-事实上,当我在Mac上的浏览器中运行index.HTML文件时,它正确启动。因此,我知道资产文件已打包。