HI伙计我有一个网站,其中包含2个域名,一个是 .com ,另一个是 .us 我试图让它显示一个标志选择国家域名,如果点击链接指向.us,我想显示美国国旗:
到目前为止,我已经做到了这一点,但有时它有效,但有时候我不知道为什么!
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 £"/>
<ul>
<li><a href="http://www.example.com">BRITISH POUNDS ( £ ) </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
有人可以告诉我这里有什么不对吗?
答案 0 :(得分:1)
在我的头脑中,我建议使用document.domain而不是location.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
});
答案 1 :(得分:1)
你可以使用液体if if语句并使用contains。
{% 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
希望它有所帮助!
答案 2 :(得分:-1)
您可以首先将location.href.indexOf更改为location.href.toLowerCase()。indexOf,因此它将支持url as .COM