当在文本框中输入时,如何使用Jquery判断语言切换(按下键盘上的alt+shift)?
我想找到新的语言!
编辑:
我可以在所有浏览器和操作系统上也使用javascript。
当在文本框中输入时,如何使用Jquery判断语言切换(按下键盘上的alt+shift)?
我想找到新的语言!
编辑:
我可以在所有浏览器和操作系统上也使用javascript。
简短回答:不行,你不能确定它。
详细回答:
没有跨浏览器的方法来检测用户语言,更不用说检测是否更改了语言。
Internet Explorer有一些方法可以提供这样的信息(使用客户端功能):
navigator.browserLanguage,操作系统语言:
navigator.systemLanguage,控制面板中区域选项的语言:
navigator.userLanguage,操作系统语言:
window.navigator.language 返回浏览器的语言版本。
var lang = window.navigator.userLanguage || window.navigator.language;
alert(lang);
阅读一些相关信息以查找是否有新的信息出现,我发现有些人说上面的代码将返回来自 Microsoft Windows 的区域设置:
因此,我在Windows XP Profissional版本2002 Service Pack 3下进行了简单的测试,通过使用alt+shift在pt-PT和en_gb之间切换:
请参见工作的Fiddle示例!
使用系统区域设置为pt-PT打开浏览器:
╭──────────────────────────────────╥──────────────────┬─────────────┬─────────╮
│ Browser ║ Browser UI Lang │ System Lang │ Alerted │
╞══════════════════════════════════╬══════════════════╪═════════════╪═════════╡
│ Internet Explorer 8.0.6001.18702 ║ PT │ pt-PT │ en-gb │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Opera 11.62 ║ PT │ pt-PT │ pt │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Firefox 3.6.16 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Safari 5.1.2 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Google Chrome 18.0.1025.168 m ║ PT │ pt-PT │ pt-PT │
╰──────────────────────────────────╨──────────────────┴─────────────┴─────────╯
使用系统区域设置为en-gb打开浏览器:
╭──────────────────────────────────╥──────────────────┬─────────────┬─────────╮
│ Browser ║ Browser UI Lang │ System Lang │ Alerted │
╞══════════════════════════════════╬══════════════════╪═════════════╪═════════╡
│ Internet Explorer 8.0.6001.18702 ║ PT │ pt-PT │ en-gb │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Opera 11.62 ║ PT │ pt-PT │ pt │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Firefox 3.6.16 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Safari 5.1.2 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Google Chrome 18.0.1025.168 m ║ PT │ pt-PT │ pt-PT │
╰──────────────────────────────────╨──────────────────┴─────────────┴─────────╯
使用浏览器已经打开的情况下,通过按下 alt + shift 键在 pt-PT 和 en_gb 之间切换:
╭──────────────────────────────────╥──────────────────┬─────────────┬─────────╮
│ Browser ║ Browser UI Lang │ System Lang │ Alerted │
╞══════════════════════════════════╬══════════════════╪═════════════╪═════════╡
│ Internet Explorer 8.0.6001.18702 ║ PT │ pt-PT │ en-gb │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Opera 11.62 ║ PT │ pt-PT │ pt │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Firefox 3.6.16 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Safari 5.1.2 ║ PT │ pt-PT │ pt-PT │
├──────────────────────────────────╫──────────────────┼─────────────┼─────────┤
│ Google Chrome 18.0.1025.168 m ║ PT │ pt-PT │ pt-PT │
╰──────────────────────────────────╨──────────────────┴─────────────┴─────────╯