Javascript 为什么此代码在IE&;中不起作用;游猎?
我的任务是编写一些代码,在广告的右上角放置一个小图标,不管大小。根据用户的语言(在本例中,我使用的是浏览器语言),它将更改图标(基于某个服务器上的图像库),并随后更改该图像的点击URL。我知道我可以通过读取带有HTTP头的操作系统语言来实现这一点,但我不能这样做,需要在服务器端完成。这个脚本是我写的,但是HTML是别人继承的——我也有能力编辑这两个脚本 目前该代码在Firefox、Chrome和Opera中运行,但在IE和Safari中将默认浏览器语言设置为另一种欧洲语言(比如法语)时,该代码将无法运行。。!!这让我快发疯了,如果你能帮助我,我将不胜感激。根据一些建议,这里有一个活生生的例子: 现场演示: 编辑:对,所以在玩了代码之后,我仍然不明白为什么它不工作。实际情况是将加载默认图像(对于IE和Safari),但不会基于浏览器语言交换图像。JavaScript控制台没有显示任何错误,Firebug也帮不了我 EDIT2:是的,所以我写了这个小函数来测试InternetExplorer是否正确地阅读了语言。(我正在使用IE9):Javascript 为什么此代码在IE&;中不起作用;游猎?,javascript,html,browser,Javascript,Html,Browser,我的任务是编写一些代码,在广告的右上角放置一个小图标,不管大小。根据用户的语言(在本例中,我使用的是浏览器语言),它将更改图标(基于某个服务器上的图像库),并随后更改该图像的点击URL。我知道我可以通过读取带有HTTP头的操作系统语言来实现这一点,但我不能这样做,需要在服务器端完成。这个脚本是我写的,但是HTML是别人继承的——我也有能力编辑这两个脚本 目前该代码在Firefox、Chrome和Opera中运行,但在IE和Safari中将默认浏览器语言设置为另一种欧洲语言(比如法语)时,该代码将
即使我将IE中的语言更改为“法语”,即“fr”,它仍然返回“en-US”!!我是做错了什么,还是从navigator对象读取了错误的值 我也在寻找解决方案,我在一篇文章中找到了解决方案
$.ajax({
url: "http://ajaxhttpheaders.appspot.com",
dataType: 'jsonp',
success: function(headers) {
language = headers['Accept-Language'];
nowDoSomethingWithIt(language);
}
});
你可以看到完整的细节考虑制作一个..更新你的JSFIDLE:@OptimusCrime很酷,谢谢-我知道你可以使用systemLanguage,但在这个例子中,我试图使用浏览器语言,它似乎在IE中仍然不起作用。另外,我无法测试,因为我安装了英文版的windows。
$.ajax({
url: "http://ajaxhttpheaders.appspot.com",
dataType: 'jsonp',
success: function(headers) {
language = headers['Accept-Language'];
nowDoSomethingWithIt(language);
}
});