AJAX XML无法在带有Web-Works或Phonegap的BlackBerry上运行

Phi*_*ide 4 ajax jquery blackberry blackberry-webworks cordova

我已经构建了一个应用程序,它从Web上的外部xml文件加载统计信息.

它在Web浏览器中工作正常.当我使用PhoneGap for Android打包它时,它也可以正常工作.适用于BlackBerry Playbook.

但是,当我将其打包为BlackBerry时,它不起作用.我已经尝试过WebWorks命令行工具和PhoneGap.


当我使用WebWorks打包并在模拟器上运行时

Web Inspector上的控制台给出了错误

" 无法加载资源:服务器响应状态为500(请求资源时出错.) "

当我使用Phonegap打包并在模拟器上运行时

当我使用PhoneGap而不是WebWorks打包时,我会在警报中弹出以下错误...

gap : ["Network Status", "getConnectionInfo","Network Status0",true]

gap: ["Device","getDeviceInfo","Device1",true]

gap_init:

gap_callbackServer:

gap_poll:
Run Code Online (Sandbox Code Playgroud)

App的实时版本(未编译)

要在WebWorks或Phonegap中运行的ZIP文件


类似的悬而未决的问题.


在YouTube模拟器中的Youtube视频问题


我试过的事情

我已添加到配置文件中.

<access subdomains="false" uri="*"/>
Run Code Online (Sandbox Code Playgroud)

我添加了一个由phonegap建议的$ .support.cors函数.

$( document ).bind( "mobileinit", function() {
    // Make your jQuery Mobile framework configuration changes here!
    $.mobile.allowCrossDomainPages = true;
});
Run Code Online (Sandbox Code Playgroud)

Tim*_*sor 8

您的模拟器和WebWorks SDK是最新的吗?

我已经在2.0.1.358的现场PlayBook和2.0.0.7971的模拟器上进行了测试,没有任何问题我可以看到.

我打包了2.2.0.15 WebWorks for PlayBook SDK,我唯一改变的是config.xml中的id,这是带有点的打包器中没有接受的.


好的,现在我明白了问题所在.

这是非常模糊的,但Java智能手机SIM卡设置为与另一个称为MDS模拟器的旧模拟器工具一起使用.对于大多数事情来说,这并不是必需的,但提供类似于设备在企业BES环境中看到的网络.即使MDS模拟器没有运行,模拟器也认为它始终具有所谓的"MDS"连接.

使用WebWorks应用程序,如果使用没有<rim:connection>标记的默认config.xml文件(对于大多数情况来说完全没问题),它会在TCP选项之前优先​​考虑MDS.这是一个问题,因为sim认为它实际上没有MDS连接,并且连接尝试最终失败.

如果将以下位代码添加到config.xml中,它将降低MDS的优先级,并使其正常工作.

<rim:connection timeout="60000">
    <id>BIS-B</id>
    <id>TCP_WIFI</id>
    <id>TCP_CELLULAR</id>
    <id>MDS</id>
    <id>WAP2</id>
    <id>WAP</id>
</rim:connection>
Run Code Online (Sandbox Code Playgroud)

最后一个关键项目 - 您需要设置模拟器以使用模拟的wifi网络.单击主屏幕的顶部横幅(通过无线指示灯),然后打开Wifi,并在选项和状态中单击Wi-Fi网络.然后单击默认WLAN网络并完成相关步骤.