1

我已经追逐这个错误几个小时了。应用程序在模拟器中运行良好,但在设备上失败。我已经在这个应用程序上工作了几个星期,主要是使用模拟器进行调试。我等待设备就绪事件,然后运行以下命令:

function onDeviceReady() {
    setStylesheet();
    console.log("Device ready");
    try {
        startup();
    } catch (err) { console.log(err);}
}

startupsetStylesheet函数分别通过以下脚本标签包含。

<script type="text/javascript" src="js/screens.js"></script>
<script type="text/javascript" src="js/stylesheets.js"></script>

函数被setStylesheet触发,CSS 被应用到应用程序。启动功能不是。我在 XCode 控制台中收到以下消息:

2012-05-27 13:29:34.543 app[417:307] [INFO] {"message":
"Can't find variable: startup", "line":59, "sourceId":3807368, 
"sourceURL":"file:///var/mobile/Applications/hash/app.app/www/index.html",
"expressionBeginOffset":1141, "expressionCaretOffset":1148, "expressionEndOffset":1148}

在模拟器中运行,一切正常。在 iPhone 上,会引发该错误。我检查了screens.js,只有警告。出现这种情况的可能原因是什么?

编辑:一位朋友建议这可能是一个竞争条件问题。我尝试动态添加 screen.js 脚本标签并使用tag.onload来调用该函数。但这似乎不是它,因为我仍然遇到同样的问题。setStylesheet也被转换为在 onload 被触发后调用,它仍然有效。

4

0 回答 0