Мне было поручено написать некоторый код, который помещает маленькую иконку в верхнем правом углу объявления независимо от размера. В зависимости от языка пользователя (в данном случае я использую язык браузера), он изменит значок (в зависимости от банка изображений на сервере) и впоследствии изменит URL клика по этому изображению. Я знаю, что могу заставить это работать, читая язык ОС с заголовком HTTP, но я не могу этого сделать, и это нужно делать на стороне сервера. Сценарий был написан мной, но HTML был унаследован кем-то другим - у меня также есть возможность редактировать оба.
В настоящее время код работает в Firefox, Chrome и Opera, но не будет работать, когда я сделаю язык браузера по умолчанию другим европейским языком (скажем, французским) в IE и Safari .. !! Это сводит меня с ума сейчас, так что если вы можете помочь мне, я был бы так благодарен. По некоторым советам, здесь есть живой пример:
Демо: http://jsfiddle.net/Juu7t/
РЕДАКТИРОВАТЬ: Прямо после игры с кодом, я все еще не понимаю, почему он не работает. По сути, происходит загрузка изображения по умолчанию (для IE и Safari), но оно не будет заменять изображение в зависимости от языка браузера. Консоль JavaScript не показывает никаких ошибок, и Firebug не помогает мне!
EDIT2: Правильно, поэтому я написал эту небольшую функцию, чтобы проверить, правильно ли Internet Explorer читает язык. (Я использую IE9):
function checkIE () {
if ((navigator.browserLanguage) || (window.navigator.language)) {
var testbrowser = navigator.browserLanguage || window.navigator.language;
alert(testbrowser);
}
}
checkIE();
Даже когда я меняю язык в IE на «французский», то есть «fr», он все равно возвращает «en-US» !! я что-то не так делаю или я читаю неверное значение из объекта навигатора?!