1
night98 2018-04-19 18:04:55 +08:00 via Android
浏览器语言不是从系统语言获取到的么,火狐可以自己设定语言,win10 可以关闭网站获取语言列表的功能,具体实现不是很清楚,坐等大佬解答
|
2
Aliencn 2018-04-19 18:13:40 +08:00
既然你想通过 http 服务器这一层来做跳转的话,这取决于浏览器发送给 http 服务器的 Accept-Language 值
如果用户电脑和浏览器的语言不一致,那你让用户自己把浏览器的 Accept-Language 值改一下就完了,哈哈哈 |
3
boboliu 2018-04-19 18:36:34 +08:00 via Android
你一个 webserver 怎么知道客户端的系统语言…老哥您是 pm 出身吧(大雾
|
4
ThirdFlame 2018-04-19 19:56:04 +08:00
任何中间件都无法感知到系统语言。
仅能够通过浏览器发来的 Accept-Language header 知道浏览器能够接受什么语言。 至于这个语言是不是一定和系统语言一直,可以准确的告诉你 不是。是可以任意修改的。 |
6
q770787217 OP 这么多热心回复,我是技术小白 不知道难不难实现感应到系统语言;
Accept-Language 可以任意修改 我不想通过浏览器语言实现。 有什么办法 可以根据浏览器语言和系统语言一致时 才进行跳转? |
7
ThirdFlame 2018-04-19 23:34:01 +08:00
|
8
falcon05 2018-04-19 23:34:22 +08:00 via iPhone
不能
|
9
msg7086 2018-04-19 23:48:22 +08:00
可以用 Flash 或者 Java 小程序,在浏览器上运行以后得到语言数据,再发回服务器端,纪录下,再跳转。
|
10
CloudnuY 2018-04-20 01:08:38 +08:00
用什么不都得走 HTTP 协议吗,浏览器发送的信息只有这么点儿,除非不用浏览器技术
|
11
tinkerer 2018-04-20 01:11:40 +08:00
@q770787217 不能...别想了
|
12
night98 2018-04-20 02:11:09 +08:00 via Android
https://segmentfault.com/q/1010000002468965
https://blog.csdn.net/lvjin110/article/details/37663067 各个浏览器实现好像都不一样,可以尝试使用 js 获取的方式,然后带参访问尝试相关跳转方案。 至于准确率,目前还没有看到有网站能够百分百识别用户语言跳转的,当然你可以基于 ip,cookies,分析用户语言跳转也是可以的。 |
13
goodbest 2018-04-20 07:20:38 +08:00 via iPhone
再给个方法,通过 geoip 判断…
|
14
misaka19000 2018-04-20 08:40:21 +08:00 via Android
自己开发一个浏览器,强制用户使用自己开发的浏览器
|
15
LoliconInside 2018-04-20 09:18:37 +08:00 via Android
通过 WebRTC 或许可以尝试获取 OS Language,不过我没试过,有哪位大牛可以尝试一下
|