簡體   English   中英

如何基於匹配數組中的值來顯示特定圖像?

[英]How do I display a certain image based on matching a value in an array?

我正在嘗試開發一些JavaScript,以檢測瀏覽器的語言(使用navigator.Browserlanguagewindow.navigator.language ),並以此為基礎向用戶顯示特定圖像。 例如,如果瀏覽器語言是“ en-GB”,它將顯示特定圖像,如果是“ fr”,則將顯示其他圖像,依此類推。

目前,我所擁有的代碼遍歷整個數組以檢測瀏覽器語言並顯示“支持的語言”。 當我在FF,IE,Chrome,Safari和Opera中對其進行測試時,它可以正常工作,但是現在我需要知道是否有一種方法可以根據瀏覽器語言顯示圖像。 我有辦法嗎? 即我可以將2個數組鏈接在一起(甚至可以嗎?)還是可以只使用圖像數組並使對應的圖像與文本在數組中的位置相同? 我將如何實現這一目標?

這是到目前為止我得到的代碼:

var IAB_Array = new Array("en","en-GB","en-US","fr","de","en-gb","en-us"); 
var lang = IAB_lang_detect(); 
if(lang) document.write('Language supported');

function IAB_lang_detect() {
    if ((navigator.browserLanguage) || (window.navigator.language)) {
    for (var i=0;i<IAB_Array.length;i++) {
        if((IAB_Array[i]==navigator.browserLanguage) || (IAB_Array[i]==window.navigator.language)) {
            return true;
        }
    }
}
return false;
}

任何幫助將非常感激!

謝謝

插入一個對象,而不是在數組內部使用字符串:

IAB_Array = [
  {lang: "en", image: "english.png"},
  {lang: "en-GB", image: "en_gb.png"},
  ...
];

然后,您可以使用IAB_Array.langIAB_Array["lang"]查找該對象的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM