2011-11-14 22 views
0

サイズに関係なく、広告の右上隅に小さなアイコンを配置するコードを記述する必要があります。ユーザーの言語(この場合はブラウザ言語を使用しています)に応じて、サーバー上の画像バンクに基づいてアイコンが変更され、その後その画像のクリックスルーのURLが変更されます。私は、HTTPヘッダーでOS言語を読むことでこれを動作させることができますが、これを行うことはできず、サーバー側で行う必要があります。スクリプトは私によって書かれましたが、HTMLは他の誰かによって継承されました - 私は両方を編集する能力も持っています。IEとSafariでこのコードが動作しないのはなぜですか?

現在、コードはFirefox、Chrome、Operaで動作しますが、IEとSafariでデフォルトのブラウザ言語(フランス語など)をデフォルトのブラウザ言語にすると機能しません。これは今私が怒っているので、あなたが私を助けることができるなら、私はとても感謝しています。いくつかのアドバイスでは、実際の例はここにあります:

ライブデモ:http://jsfiddle.net/Juu7t/

EDIT:それは動作しませんなぜ右ので、コードで遊んでた後、私はまだ見ることができません。基本的に何が起きているのかは、デフォルトの画像がロードされます(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(); 

私は "フランス語"、すなわち "FR" にIEで言語を変更する場合でも、それはまだ "EN-US" を返します!!間違ったことをやっているのですか、ナビゲータオブジェクトから間違った値を読んでいますか?

+1

を見ることができる[ライブデモ]を行うことを検討します(http:// jsfiddle。ネット)。 –

+0

オクラクール - 私にこれをさせてください。 – zik

+0

あなたのjsfiddleを更新しました:http://jsfiddle.net/Juu7t/2/ – OptimusCrime

答えて

0

は、私はまた、解決策を探していると私は

$.ajax({ 
    url: "http://ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) { 
    language = headers['Accept-Language']; 
    nowDoSomethingWithIt(language); 
    } 
}); 

としてポストで解決策を見つけたあなたは完全な詳細here

関連する問題