谷歌浏览器更改useragent?谷歌浏览器更改语言
大家好,谷歌浏览器更改useragent相信很多的网友都不是很明白,包括谷歌浏览器更改语言也是一样,不过没有关系,接下来就来为大家分享关于谷歌浏览器更改useragent和谷歌浏览器更改语言的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
本文目录
一、为什么浏览器User-agent总是有Mozilla字样
你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样?
Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.94Safari/537.36
Mozilla/5.0(Linux;U;Android4.1.2;zh-tw;GT-I9300Build/JZO54K)AppleWebKit/534.30(KHTML,likeGecko)Version/4.0MobileSafari/534.30
Mozilla/5.0(WindowsNT6.1;WOW64;rv:20.0)Gecko/20100101Firefox/20.0
Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.0;Trident/5.0)
故事还得从头说起,最初的主角叫NCSAMosaic,简称Mosaic(马赛克),是1992年末位于伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心(NationalCenterforSupercomputingApplications,简称NCSA)开发,并于1993年发布的一款浏览器。它自称“NCSA_Mosaic/2.0(Windows3.1)”,Mosaic可以同时展示文字和图片,从此浏览器变得有趣多了。
然而很快就出现了另一个浏览器,这就是著名的Mozilla,中文名称摩斯拉。一说Mozilla=Mosaic+Killer,意为Mosaic杀手,也有说法是Mozilla=Mosaic&Godzilla,意为马赛克和哥斯拉,而Mozilla最初的吉祥物是只绿色大蜥蜴,后来更改为红色暴龙,跟哥斯拉长得一样。
但Mosaic对此非常不高兴,于是后来Mozilla更名为Netscape,也就是网景。Netscape自称“Mozilla/1.0(Win3.1)”,事情开始变得更加有趣。网景支持框架(frame),由于大家的喜欢框架变得流行起来,但是Mosaic不支持框架,于是网站管理员探测useragent,对Mozilla浏览器发送含有框架的页面,对非Mozilla浏览器发送没有框架的页面。
后来网景拿微软寻开心,称微软的Windows是“没有调试过的硬件驱动程序”。微软很生气,后果很严重。此后微软开发了自己的浏览器,这就是InternetExplorer,并希望它可以成为NetscapeKiller。IE同样支持框架,但它不是Mozilla,所以它总是收不到含有框架的页面。微软很郁闷很快就沉不住气了,它不想等到所有的网站管理员都了解IE并且给IE发送含有框架的页面,它选择宣布IE是兼容Mozilla,并且模仿Netscape称IE为“Mozilla/1.22(compatible;MSIE2.0;Windows95)”,于是IE可以收到含有框架的页面了,所有微软的人都嗨皮了,但是网站管理员开始晕了。
因为微软将IE和Windows捆绑销售,并且把IE做得比Netscape更好,于是第一次浏览器血腥大战爆发了,结果是Netscape以失败退出历史舞台,微软更加嗨皮。但没想到Netscape居然以Mozilla的名义重生了,并且开发了Gecko,这次它自称为“Mozilla/5.0(Windows;U;WindowsNT5.0;en-US;rv:1.1)Gecko/20020826”。
Gecko是一款渲染引擎并且很出色。Mozilla后来变成了Firefox,并自称“Mozilla/5.0(Windows;U;WindowsNT5.1;sv-SE;rv:1.7.5)Gecko/20041108Firefox/1.0”。Firefox性能很出色,Gecko也开始攻城略地,其他新的浏览器使用了它的代码,并且将它们自己称为“Mozilla/5.0(Macintosh;U;PPCMacOSXMach-O;en-US;rv:1.7.2)Gecko/20040825Camino/0.8.1”,以及“Mozilla/5.0(Windows;U;WindowsNT5.1;de;rv:1.8.1.8)Gecko/20071008SeaMonkey/1.0”,每一个都将自己装作Mozilla,而它们全都使用Gecko。
Gecko很出色,而IE完全跟不上它,因此useragent探测规则变了,使用Gecko的浏览器被发送了更好的代码,而其他浏览器则没有这种待遇。Linux的追随者对此很难过,因为他们编写了Konqueror,它的引擎是KHTML,他们认为KHTML和Gecko一样出色,但却因为不是Gecko而得不到好的页面,于是Konqueror为得到更好的页面开始将自己伪装成“likeGecko”,并自称为“Mozilla/5.0(compatible;Konqueror/3.2;FreeBSD)(KHTML,likeGecko)”。自此useragent变得更加混乱。
这时更有Opera跳出来说“毫无疑问,我们应该让用户来决定他们想让我们伪装成哪个浏览器。”于是Opera干脆创建了菜单项让用户自主选择让Opera浏览器变成“Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;en)Opera9.51”,或者“Mozilla/5.0(WindowsNT6.0;U;en;rv:1.8.1)Gecko/20061208Firefox/2.0.0Opera9.51”,或者“Opera/9.51(WindowsNT5.1;U;en)”。
后来苹果开发了Safari浏览器,并使用KHTML作为渲染引擎,但苹果加入了许多新的特性,于是苹果从KHTML另辟分支称之为WebKit,但它又不想抛弃那些为KHTML编写的页面,于是Safari自称为“Mozilla/5.0(Macintosh;U;PPCMacOSX;de-de)AppleWebKit/85.7(KHTML,likeGecko)Safari/85.5”,这进一步加剧了useragent的混乱局面。
因为微软十分忌惮Firefox,于是IE重装上阵,这次它自称为“Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0)”,并且渲染效果同样出色,但是需要网站管理员的指令它这么做才行。
再后来,谷歌开发了Chrome浏览器,Chrome使用Webkit作为渲染引擎,和Safari之前一样,它想要那些为Safari编写的页面,于是它伪装成了Safari。于是Chrome使用WebKit,并将自己伪装成Safari,WebKit伪装成KHTML,KHTML伪装成Gecko,最后所有的浏览器都伪装成了Mozilla,这就是为什么所有的浏览器User-Agent里都有Mozilla。Chrome自称为“Mozilla/5.0(Windows;U;WindowsNT5.1;en-US)AppleWebKit/525.13(KHTML,likeGecko)Chrome/0.2.149.27Safari/525.13”。
因为以上这段历史,现在的User-Agent字符串变得一团糟,几乎根本无法彰显它最初的意义。追根溯源,微软可以说是这一切的始作俑者,但后来每一个人都在试图假扮别人,最终把User-Agent搞得混乱不堪。
一句话结论:因为网站开发者可能会因为你是某浏览器(这里是Mozilla),所以输出一些特殊功能的程序代码(这里指好的特殊功能),所以当其它浏览器也支持这种好功能时,就试图去模仿Mozilla浏览器让网站输出跟Mozilla一样的内容,而不是输出被阉割功能的程序代码。大家都为了让网站输出最好的内容,都试图假装自己是Mozilla一个已经不存在的浏览器??
1995年8月16日:InternetExplorer
二、firefox手动更改useragent和使用插件改useragent的方法
当浏览器连接到网站时,它将会告诉网站该浏览器的类型。某些网站可能有意或无意间关闭了对于某些浏览器的响应。由于浏览器总是在持续不断的开发,网页设计者所作的假设可能会带来负面效果。遇到此类情况时,可以指定浏览器识别,然后重新载入页面以解决问题。
修改浏览器userAgent,这个我们要根据浏览器不同,而修改方法不同。下面遨游浏览器及火狐浏览器修改userAgent为例:
遨游浏览器修改userAgent
打开遨游浏览器,依次点击工具遨游设置中心...高级选项
然后在右侧找到“自定义userAgent字符串”,勾选后,在下面的文本框中输入自定义的UserAgent,然后再重启浏览器即可。
打开火狐浏览器,点击工具附件组件,然后在获取附加组件选项卡里搜索"user Agent Switcher"安装即可使用。
或者到User Agent Switcher 0.7.3修改firefox的user agent扩展进行下载安装也可。
安装成功后,会在工具菜单下面找到user Agent,上面已有默认的user Agent,自己也可以自定义user Agent
有些浏览器就没有提供修改user Agent方法,如IE。我们就暂时没办法修改user Agent了。
浏览器识别的 UA变化
以 Opera 10.70(简体中文语言包)在 WindowsXp下为例:
识别为 Opera
Opera/9.80(Windows NT 5.1; U; zh-cn) Presto/2.6.31 Version/10.70
识别为 Firefox
Mozilla/5.0(Windows NT 5.1; U; zh-cn; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 10.70
Mozilla/4.0(compatible; MSIE 8.0; Windows NT 5.1; zh-cn) Opera 10.70
伪装为 Firefox
Mozilla/5.0(Windows NT 5.1; U; zh-cn; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
Mozilla/4.0(compatible; MSIE 8.0; Windows NT 5.1; zh-cn)
Firefox手动更改UserAgent的方法
通过火狐浏览器本身的设置来修改。
火狐浏览器修改userAgent的办法一:
在火狐浏览器地址栏输入“about:config”,按下回车进入设置菜单。
找到“general.useragent.override”,如果没有这一项,则点右键“新建”-“字符串”,输入这个字符串。
将其值设为自己想要的UserAgent。
火狐浏览器修改userAgent的办法二:
user Agent Switcher插件。下载地址:User Agent Switcher 0.7.3修改firefox的user agent扩展
详细安装方法见:
每款浏览器都有自己不同的user Agent,而且通过user Agent可以判断浏览器版本、所用的操作系统等参数。
Firefox几个版本的userAgent大致如下:
Mozilla/5.0(Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1
Mozilla/5.0(Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3
Mozilla/5.0(Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12
其中,版本号是Firefox之后的数字
其他浏览器的User Agent String可以参见User Agent String.Com的List of User Agent Strings:
基本包含了国外各种软硬件浏览器的UserAgent。
三、如何使用JavaScript的userAgent属性判断浏览器类型
1、判断浏览器的类型我们可以使用JavaScript中提供的Navigator对象的userAgent属性,它是唯一可以获取运行JavaScript的浏览器类型和版本等信息的属性,使用简单方便,但是如果做出错误的浏览器判断顺序则容易出错,因此必须要小心。
2、我们先来看一下userAgent属性的基本语法
3、window.navigator.userAgent;通过这样就可以获得描述浏览器信息的“字符串”作为返回值。
4、重点是将信息作为字符串获取到最后!
5、因此,有必要使用诸如indexOf()之类的方法在字符信息中提取浏览器的类型和版本。
6、让我们创建一个实际获取浏览器类型的程序!
7、首先从userAgent属性获取浏览器信息开始。
8、var agent= window.navigator.userAgent;
9、var agent= window.navigator.userAgent.toLowerCase();方法①和平常一样使用userAgent属性,不过,②最后执行的是toLowerCase()。
10、实际上,获取的浏览器信息是大写和小写字母的混合字符串,因此基本上将它全部用小写或大写字母更容易判断。
11、因此,一般来说,我会用方法②写下来!
12、var agent= window.navigator.userAgent.toLowerCase();
13、var result= agent.indexOf('chrome')>-1;
14、console.log(result);在这个例子中,使用了indexOf()确认取得了浏览器信息「chrome」的文字是否存在。
15、如果没有,则返回“-1”,如果存在,则返回“字符位置”。
16、因此,通过“>-1”的比较,可以得到“true/ false”,所以可以进行判定。
17、目前,有各种浏览器,例如“IE”,“Chrome”,“Safari”,“Firefox”为主流浏览器
18、让我们看看如何判断每个浏览器!
19、一般来说,基本上是通过IF语句按顺序判断每个浏览器名称。
20、var agent= window.navigator.userAgent.toLowerCase();
21、if(agent.indexOf('msie')>-1){
22、 console.log('IE浏览器');
23、} else if(agent.indexOf('edge')>-1){
24、 console.log('Edge浏览器');
25、} else if(agent.indexOf('chrome')>-1){
26、 console.log('Chrome浏览器');
27、} else if(agent.indexOf('safari')>-1){
28、 console.log('Safari浏览器');
29、} else if(agent.indexOf('firefox')>-1){
30、 console.log('Firefox浏览器');
31、 console.log('其他浏览器');
32、}在此示例中,使用userAgent获取浏览器信息,并且indexOf()按顺序判断每个浏览器名称。
33、我们在开始时介绍了一点,但比较的顺序是很重要的!
34、实际上,当您使用userAgent属性检查Edge浏览器时,它包含字符“chrome”和“safari”。
35、此外,查看Chrome浏览器包含“safari”一词。
36、这样,有些情况下会包含与原始浏览器不同的名称,因此有必要首先比较要调查的浏览器。
37、基本上,至少让我们保证“Edge”→“Chrome”→“Safari”的顺序!
好了,文章到此结束,希望可以帮助到大家。
声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。
本文链接:http://www.gdxhedu.com/news/166777.html