2010-09-20 43 views
7

我想访问用户浏览器设置并更改浏览器语言,是否可以使用Javascript?如何使用Javascript更改浏览器语言

如果可能,我该如何访问它? (请示例代码)

+0

为什么要更改浏览器语言? – Lekensteyn 2010-09-20 17:52:49

+0

我想在java中使用资源包。 – ammar 2010-09-20 17:55:48

+0

具有资源包功能,浏览器可以从浏览器语言中自动选择语言。所以在编辑浏览器语言时,我可以创建一个多语言网站 – ammar 2010-09-20 17:57:18

回答

1

这绝对不可能在网页上使用JavaScript。

浏览器扩展可能需要改变这种权利 - 我不知道,这也将取决于浏览器。但是,建立这样的扩展需要相当的技巧和工作。

5

不,这是不可能的。如果你打开一个页面,并且你的浏览器变成了阿拉伯文(或者其他一些你无法阅读的语言),你会如何找到它?

+0

)如果发生这种情况,我会发现这非常棒,因为它意味着已经实现不可能。 – 2011-01-12 21:02:23

+0

我很担心并且想知道哪个漏洞被滥用了。 – Lekensteyn 2011-01-12 21:05:06

+0

您正在考虑使用网页而不是网页如果你打开一个网络应用程序,并且你的(阿拉伯语)浏览器显示阿拉伯语,而你的网络应用程序用户配置文件是英文,你将如何找到它? – 2015-02-12 12:26:30

4

这是不可能的,也是一个坏主意。一个更好的主意是检测浏览器的语言,这可以做得相当好,并要求用户改变它(假设这种改变是绝对必要的)。

+0

这不是用户友好的。 – ammar 2010-09-20 18:11:38

+4

也不会改变用户的浏览器语言 – 2010-09-20 18:15:42

+1

@Andrew Dunn,@ammar,只有这样才是用户友好的:用户需要的一切都必须从用户的大脑中采集纳入血液中的纳米机器,这些纳米机器与无线连接到具有良好AI的服务器的血液中,这也可以预测用户的期望,费用可能适用,这可能违反您的司法管辖区的法律。 – 2011-01-12 21:01:24

4

您可以检测到,但无法设置。

var lang = navigator.language || navigator.userLanguage; 

// navigator.language  : Netscape & Firefox 
// navigator.userLanguage : Internet Explorer 


如果你想输出不同的语言,最好的办法是做服务器端。或者:

  • 使用AJAX调用动态加载相应的页面
  • 使用一个会话变量来加载初始页面正确
2

如果你真正想要做的是检测语言的用户正在使用,这是你想要做的,因为没有什么会让你的访问者烦恼他们的浏览器首选项被改变,在服务器端,阅读所有现代浏览器发送的HTTP请求头文件Accept-Language,它应该包含你的所有信息需要。如果不存在,则假定您的最大受众群体的语言。

退房RFC2616 Section 14.4Accept-Language更多的信息和它的使用。

相关问题