Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么此代码在IE&;中不起作用;游猎?_Javascript_Html_Browser - Fatal编程技术网

Javascript 为什么此代码在IE&;中不起作用;游猎?

Javascript 为什么此代码在IE&;中不起作用;游猎?,javascript,html,browser,Javascript,Html,Browser,我的任务是编写一些代码,在广告的右上角放置一个小图标,不管大小。根据用户的语言(在本例中,我使用的是浏览器语言),它将更改图标(基于某个服务器上的图像库),并随后更改该图像的点击URL。我知道我可以通过读取带有HTTP头的操作系统语言来实现这一点,但我不能这样做,需要在服务器端完成。这个脚本是我写的,但是HTML是别人继承的——我也有能力编辑这两个脚本 目前该代码在Firefox、Chrome和Opera中运行,但在IE和Safari中将默认浏览器语言设置为另一种欧洲语言(比如法语)时,该代码将

我的任务是编写一些代码,在广告的右上角放置一个小图标,不管大小。根据用户的语言(在本例中,我使用的是浏览器语言),它将更改图标(基于某个服务器上的图像库),并随后更改该图像的点击URL。我知道我可以通过读取带有HTTP头的操作系统语言来实现这一点,但我不能这样做,需要在服务器端完成。这个脚本是我写的,但是HTML是别人继承的——我也有能力编辑这两个脚本

目前该代码在Firefox、Chrome和Opera中运行,但在IE和Safari中将默认浏览器语言设置为另一种欧洲语言(比如法语)时,该代码将无法运行。。!!这让我快发疯了,如果你能帮助我,我将不胜感激。根据一些建议,这里有一个活生生的例子:

现场演示:

编辑:对,所以在玩了代码之后,我仍然不明白为什么它不工作。实际情况是将加载默认图像(对于IE和Safari),但不会基于浏览器语言交换图像。JavaScript控制台没有显示任何错误,Firebug也帮不了我

EDIT2:是的,所以我写了这个小函数来测试InternetExplorer是否正确地阅读了语言。(我正在使用IE9):


即使我将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);
  }
});