2015-06-02 31 views
0

嗨,大家好我已經攜帶兩個域名一個是.COM,另一個是一個頁面沒有自動跳轉網站我試圖得到它顯示一個標誌,爲國家域名選擇所以如果點擊鏈接指向一個.US我想顯示美國國旗:顯示的內容取決於域使用jQuery JavaScript的

我已經做到這一點,但有時它的工作,但有時不是我不知道爲什麼!

HTML:

<li>Currency <img class="usd-flag" style="display:none" src="/images/usd-flag.svg" width="20" height="14" alt="USD CURRENCY $;"/><img class="gbp-flag" style="display:none" src="/images/gbp-flag.svg" width="20" height="14" alt="GBP CURRENCY &pound;"/> 
<ul> 
<li><a href="http://www.example.com">BRITISH POUNDS (&pound;) </a></li> 
<li><a href="http://www.example.us">US DOLLARS ($)</a></li> 
</ul> 
</li> 

JS:

if(location.href.indexOf('.us') >= 0) { 
     $('.usd-flag').show(); 
     $('.gbp-flag').hide(); 
    } 
if(location.href.indexOf('.com') >= 0) { 
     $('.gbp-flag').show(); 
     $('.usd-flag').hide(); 
    }//changes flag image depending on domain 

有人能告訴我什麼是錯在這裏PLZ?

回答

1

如果else語句和使用包含你可以用液體做到這一點。

{% if {{globals.site.host}} contains '.us' %} 

<div>this is a .us domain</div> 

{% else %} 

<div>This is a .com domain</div> 

{% endif %} 

或者如果語句也可以使用2。而不是取決於你需要什麼。

此處使用AU域的臨時示例。

http://liquiddev.rtweb.com.au/domain

希望它能幫助!

+0

我必須說液體是BC的原因,但jQuery選項也可能適用於不同的服務器,並在服務器請求時出現一些錯誤。 – Skwashy

-1

您可以更改location.href.indexOf到location.href.toLowerCase()的indexOf第一,因此它將支持URL作爲.COM我的頭頂部的

1

嗯,我會建議document.domain,而不是位置.href,因爲它具有更好的解析輸出,但我認爲你只是在修改它的元素之前就忘了需要等待DOM。正如您使用jQuery標記的那樣,您可以使用下面的內容。沒有它,你將需要一個文檔事件處理程序(jQuery只爲你包裝)。

$(document).ready(function() { 

    console.log(location.href) 
    console.log(document.domain) 

    if (location.href.indexOf('.us') >= 0) { 
     $('.usd-flag').show(); 
     $('.gbp-flag').hide(); 
    } 
    if (location.href.indexOf('.com') >= 0) { 
     $('.gbp-flag').show(); 
     $('.usd-flag').hide(); 
    } //changes flag image depending on domain 

}); 

FIDDLE

+0

工作得很好我有一些問題,當涉及到有一個HTTPS頁面,但這將是我的服務器,混亂的情況。非常感謝! – Skwashy