IBM Worklight 5.0.6.1 - 移动浏览器模拟器 - 用于 navigator.network.connection.type 与 navigator.connection.type

Posted

技术标签:

【中文标题】IBM Worklight 5.0.6.1 - 移动浏览器模拟器 - 用于 navigator.network.connection.type 与 navigator.connection.type 的 WL.Device.getNetworkInfo【英文标题】:IBM Worklight 5.0.6.1 - Mobile Browser Simulator - WL.Device.getNetworkInfo for navigator.network.connection.type vs. navigator.connection.type 【发布时间】:2013-08-27 16:56:04 【问题描述】:

我们在 MBS 以及我们的 iosandroid 设备上看到了不同的行为。

在模拟器中:

navigator.network.connection.type 返回在 Simulator 菜单中定义的值(这是旧 API,已弃用)。 navigator.connection.type 未定义(这是新的且即将推出的官方 API)。

在设备上:

两者都返回正确的值(不推荐使用的 API 和新的 API)

言外之意就是下面的调用:

WL.Device.getNetworkInfo(function (networkInfo) 
  alert (networkInfo.ipAddress); 
  
);
在 MBS 中接收 undefined networkInfo 对象。 在设备上接收具有正确值的对象。

【问题讨论】:

【参考方案1】:

最新的 Worklight 6.1 的移动浏览器模拟器支持 navigator.network.connection.type 和 navigator.connection.type(Worklight 6.1 使用 Cordova 3.1)。直到 Cordova 2.3.0,Connection 对象是从 navigator.network.connection 访问的。在 Cordova 2.3.0 之后,它被更改为 navigator.connection。 Navigator.network.connection 在 Cordova 3.1 中仍然可用,但已被弃用,最终将从 Cordova 中删除。

【讨论】:

【参考方案2】:

我不确定为什么这在 MBS 中有效(而不有效),但请注意 WL.Device.getNetworkInfo API 方法是 supported only in iOS and Android。

【讨论】:

由于 navigator.connection.type 是新的,我们假设这个“新”API 尚未在 Simulator 的 Cordova 模拟中实现。并且当前仅实现了“旧” API navigator.network.connection.type。 - 它应该在模拟器中工作,因为在模拟器的左侧菜单栏中有更改网络连接设置的选项。对 navigator.network.connection.type 的调用完全返回左侧菜单栏中的配置! 我已经通知了功能开发者。

以上是关于IBM Worklight 5.0.6.1 - 移动浏览器模拟器 - 用于 navigator.network.connection.type 与 navigator.connection.type 的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 5.0.6.1 - iOS 7 中的底部空白

IBM Worklight 5.0.6.1 - Android 通知未到达设备或模拟器

IBM Worklight 5.0.6.1 - 安装 5.0.6.1 修订包后,Studio 版本为 v6.0 而不是 v5.0.6.1

IBM Worklight 5.0.6.1 - 关闭电话/应用程序时未收到推送通知

IBM Worklight 5.0.6.1 - 移动浏览器模拟器 - 用于 navigator.network.connection.type 与 navigator.connection.type

IBM Worklight 6.0.0.1 - 将适配器部署到服务器时出错