gpt4 book ai didi

javascript - 如何解决 Android Phonegap 应用程序 SyntaxError : Parse error?(黑屏问题)

转载 作者:行者123 更新时间:2023-11-30 03:00:53 26 4
gpt4 key购买 nike

我正在使用 weinre 能够对在 Mac OS X(最新版本)上运行的 android 模拟器上执行的应用程序进行远程调试。

上下文(最终需要):

我当前使用的 AVD(Android 虚拟设备)是:

  • 设备:Nexus 4(4.7",768 x 1280:xhdpi)
  • 目标:Android 2.3.3 - API 级别 10

    Javascript 框架:Dojo, v1.9

实际问题:

我正在尝试从远程控制台(weinre)初始化一个方法,但是一旦我开始调用它,我就会得到相应的输出:

第一个方法调用:

SyntaxError: Parse error

第二个方法调用:

TypeError: Result of expression 'lang' [undefined] is not an object.

第三个方法调用:

undefined

从现在开始,我尝试调用的方法将始终提供未定义 输出。

我知道第一个错误是因为我定义了一个数组。即:

var requiredLibraries = ["app/webpage",
"dojo/_base/window",
"dojo/dom-construct",
"dijit/registry",
"dojo/on",
"dojox/mobile",
"dojox/mobile/deviceTheme",
"dojox/mobile/compat",
"dojo/domReady!"
];

但我根本没有看到任何解析错误。事实上,我已经通过 jslint 传递了我的代码并且它是有效的。

我试过其他 android 设备,其他版本,即 4.4 版,但没有成功。每次我得到相同的结果。

注意:仅适用于 Android 设备/Android 模拟器。在桌面浏览器或 iOS 设备/iOS 模拟器上测试应用程序时,我的问题为零。

有什么提示吗?

最佳答案

您首先需要在 DOJO 常见问题解答中解决这一点:

I can’t seem to run Dojo Mobile pages on Android devices when using libraries like PhoneGap, what am I doing wrong?

There is a known bug in the Android WebKit browser implementation that does not allow files starting with an underscore ‘_’ character to be loaded from local file system (for example, when using Dojo Mobile in conjunction with PhoneGap to create a native app). The way around this problem is to create a built version of your files (you’ll want to do this anyway for performance).

常见问题解答:http://dojotoolkit.org/reference-guide/1.9/dojox/mobile/faq.html

确认此问题:

http://developer.appcelerator.com/question/144171/using-dojo-mobile-and-filenames-with-

按照此构建教程创建 DOJO 应用程序的单个 javascript 文件构建,这将消除以下划线开头的单个 javascript 文件:

http://dojotoolkit.org/documentation/tutorials/1.9/build/

假设您可以构建 DOJO 应用程序,那么您需要按照以下步骤与 Phonegap/Cordova 集成:

https://dojotoolkit.org/documentation/tutorials/1.9/dojox_app/contactsCordova/

*如果您在使用 deviceTheme.js 时遇到问题,请注意页面中间它如何显示您的 Phonegap/Cordova index.html 文件应该是什么样子:

// Your device Theme
<script src="{path_to_dojox}/dojox/mobile/deviceTheme.js"></script>

// Loads cordova
<script src="cordova.js"></script>

// Loads DOJO
<script src="{path_to_dojo}/dojo/dojo.js" data-dojo-config="app: {debugApp: 1}, async: true"></script>

// DOJO then uses this require statement to load your built DOJO app
<script>
require(["contactsApp/contacts"]);
</script>

在我们下线之前帮助@nffdiogosilva 解决这个问题的原始想法:

这主要是一个调试问题,您需要隔离 Activity 部件并逐步验证您的假设。确保没有任何你假设有效的更基本的东西实际上没有被破坏。也许是 dojo.js 库或您的 dojo 应用程序对象的初始实例化?另外,您是否使用任何其他 JavaScript 库?

在我们的其他线程中,我提到了我如何使用 Weinre 来确定我的 Sencha 应用程序对象不会在 Android 2.3 上加载。 Sencha 库本身似乎加载正常,但创建我的 Sencha 应用程序对象的样板调用会挂起一段时间,然后不会加载,我的 UI 根本不会呈现(白屏!)。我通过做一些增量的 console.log 跟踪以及注释掉我的一些不同的 javascript 包含直到问题变得清晰来解决这个问题。尽管它在 Android 4+ 上运行良好,但在这种情况下可能是一个不同的问题。

关于javascript - 如何解决 Android Phonegap 应用程序 SyntaxError : Parse error?(黑屏问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22565988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com