下面我们需要去设计在什么情况下,去获得这些信息,你可以把它放在 deviceready 这个事件发生以后,去执行一下 … 不过这里我们去试一下其它的方式,在应用上面添加一个按钮 … 每点一次按钮,就会执行一次获取信息的动作 … 也就是这个 getGlobalization
先打开应用的 index.html … 添加一个按钮 … … 在上面定义一个 ID,这样我们可以使用 document.getElementById 定位到这个按钮上 ...
再回到 index.js … 在 onDeviceReady 里面 … 用一个 document.getElementById('getinfo');
可以把它交给一个变量,叫它 getInfo … var getInfo = ….
下面再去为这个 getInfo 对象添加一个事件的监听器 …
getInfo.addEventListener();
监听的事件是 click ,也就是点击 … 然后再指定点击事件发生以后要做的事情 … 我们让它去执行 getGlobalization … 它的前面需要加上 app 这个对象的名称 … 最后一个参数设置成 false ..
getInfo.addEventListener('click', app.getGlobalization, false);
这样,如果用户点击了 getinfo 这个 id 所在的按钮以后,就会去执行 getGlobalization … 也就是在控制台上输出用户设置的语言的代码 ..
getLocaleName
下面我们可以使用类似的方法去获得用户设置的区域的代码 … 比如用户如果设置为中国大陆,代码应该就是 zh_CN,如果设置成香港,代码是 zh_HK,设置成台湾的话,代码会是 zh_TW ..
先复制一下获得本地语言的这段代码 … 粘贴到它的下面 … 然后再修改一下 … 获得用户当前设置的区域格式
getPreferredLanguage 改成 getLocaleName … 当前的区域是 …
传递的这个参数,language 可以改成 locale … 这样做更有意义,也为了区分一下上面的 language …
这样 language.value 需要改成 local.value … 其它的可以保持一致 … 保存一下 ….
测试
打开 weinre 调试工具的控制台 … 再去重新编译并且安装一下修改以后的应用 … phonegap run --emulator ios
应用启动以后,点击这个 获得全局信息 按钮 …. 你会看到,在控制台上,会输出获取到的设置当前的语言是 zh_Hans,表示简体的中文 …. 当前的区域是 zh_CN ,表示中国大陆 …
下面我们可以修改一下设置的这些设置 …
回到主屏幕 … 可以使用快捷键 command + shift + h … 打开 设置 …. 通用 .. 多语言环境 ..
语言这里,就是 getPreferredLanguage 获取到的东西 … 区域格式,是 getLocaleName 获取到的东西 … 先打开区域格式 …
选择 United States … 美国 … 然后再设置一下语言 …. 选择 English … 点击 完成 …
再打开我们的应用 … 点击 获得全局信息 ….
现在,你会看到,当前的语言是 en ,表示英文 … 当前的区域是 en_US,表示美国 ….