0

我正在尝试根据用户代理来决定要显示哪些内容(消息)。当我用户查询参数或元标记时,一切正常。它在 Firefox 中也能正常工作。在 Firefox 中,我将语言从英语更改为法语,重新加载页面,一切正常。这是基于用户代理的。如果我在 chrome/IE 中加载页面,我只会得到默认值(英文)。如果我将系统语言设置为法语(我的另一种语言),一切似乎都正常。任何想法为什么在 chrome 和 IE 中设置语言对内容没有影响?我验证了标题并且正在为法语内容发出请求?我错过了什么?

我的 gwt.xml 文件基于我在这里找到的http://code.google.com/p/google-web-toolkit/source/browse/releases/2.3/user/src/com/google/gwt/i18n /I18N.gwt.xml

据我了解,我需要添加的只是以下内容到我的 gwt.xml set-configuration-property name="locale.useragent" value="Y"

我还发现了以下为什么 GWT 会忽略浏览器语言环境?这似乎表明它在 IE 中不起作用,但 chrome 呢?

4

1 回答 1

1

请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=4228

TL;DR:没有可靠的方法来获取您在 JavaScript 中查看的信息,该navigator对象为您提供浏览器的区域设置(即用于浏览器自己的菜单等的区域设置),而不是用户的语言偏好( Firefox 除外)。
您最好的选择是使用动态主机页面并<meta>根据请求标头(即内容协商)在服务器上生成适当的主机页面。

于 2012-04-16T14:10:23.950 回答