【发布时间】:2014-09-05 14:27:05
【问题描述】:
我有一个使用 require 和 cordova 运行的主干应用程序。它可以在浏览器中完美运行,并在所有设备上通过 xcode 进行模拟。但是无论出于何种原因,当我尝试通过设备(iphone 5)运行它时,它会启动但从未运行,而只会给我一个空白的白色屏幕。我试图使用cordova的控制台日志插件来控制台日志,该插件允许将控制台日志写入xcode的终端,但它的一致性充其量是不稳定的,我没有得到任何合法的东西,这可能导致它在一个上运行但不是另一个。
有没有人处理过这个问题?我知道这是一个非常模糊的问题,只是想看看是否有人或多或少地遇到过同样的问题。
这是我的 index.html 文件的正文...
<body>
<div id="container">loading...</div>
<script type="text/javascript" src="cordova.js"></script>
<script data-main="js/main" src="js/libs/require.js"></script>
</body>
然后这会影响我的主文件,我正在更改背景颜色作为调试方式,我无法从该文件更改背景颜色,但我可以在 app.js 中...
require.config({
baseUrl: "js/",
paths: {
jquery: 'libs/jquery/jquery-1.8.2',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-1.0.0-min',
text: 'libs/require/text',
templates: '../templates',
router: 'router',
app: 'app',
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
}
});
require(['app', 'router', 'models/SessionModel'], function(app, AppRouter, SessionModel) {
$('body').css('background-color', 'yellow');
document.addEventListener("deviceready", run, false);
function run() {
app.router = new AppRouter();
app.session = new SessionModel({});
app.session.checkAuth({
// Start the backbone routing once we have captured a user's auth status
complete: function(){
Backbone.history.start();
}
});
}
});
那么这里是非常基本的应用文件...
define([
"jquery",
"underscore",
"backbone"
],
function($, _, Backbone) {
var app = {
};
return app;
});
【问题讨论】:
标签: iphone cordova backbone.js require