Cordova全球化插件不适用于intel xdk模拟器

时间:2014-06-20 11:50:39

标签: api cordova emulation globalization intel-xdk

我正试图在设备上设置首选语言,如下所示:

navigator.globalization.getPreferredLanguage(
   function (language) {
      alert('language: ' + language.value + '\n');
   },
   function () {
      alert('nope');
   }
);

当我点击模拟器时,我会弹出这个: missing api emulation

我安装了cordova插件以使用全球化:

cordova plugin add org.apache.cordova.globalization

我还在config.xml上添加了这一行:

<plugin name="Globalization" value="org.apache.cordova.Globalization" />

我在设备上进行了测试,但它正在运行。

顺便说一句,我使用的是cordova 3.5版本,但是当我启动intel xdk模拟器时,它显示的是2.9版本。也许这会导致这个问题?我也使用存储插件进行SQL查询,它工作正常!

1 个答案:

答案 0 :(得分:1)

Cordova插件通常由两部分组成:1)JavaScript API和2)特定于目标平台的底层本机代码(例如,Android的Java代码,iOS的Objective C代码等)。英特尔XDK仿真器是模拟器,模拟本机部分,但仅以非常通用的方式,仅适用于选定数量的Cordova API。对于没有底层“本机模拟”的任何API,它提供此消息,因此您至少可以执行代码。它实际上并不模拟底层功能,但它确实允许您跟踪代码的这些部分。

最终,正如您所发现的那样,您需要在具有真实版本的真实设备上运行它。

此外,XDK模拟器目前知道的API是2.9.0 API。它正在修改以在将来的版本中支持3.x API。顺便说一下,XDK中的仿真器是Ripple仿真器的定制实现。