我如何从我创建的列表中匹配一个国家,然后如果它在列表中则采取行动? (GeoIP 重定向)
Posted
技术标签:
【中文标题】我如何从我创建的列表中匹配一个国家,然后如果它在列表中则采取行动? (GeoIP 重定向)【英文标题】:How do I match a country from a list I create and then act if it is inside the list? (GeoIP redirect) 【发布时间】:2014-11-24 00:56:23 【问题描述】:这是我的代码。这一个有效,但它一次只检查一个位置。
<script>
jQuery.ajax(
url: '//freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location)
// If the visitor is browsing from UK.
if (location.country_code === 'UK')
// Redirect him to the UK Store store.
window.location.href = 'http://www.domain.co.uk';
);
</script>
这是我尝试过的:
<script>
jQuery.ajax(
url: '//freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location)
// If the visitor is browsing from UK, Germany, France, and Sweden.
if (location.country_code === 'UK || DE || FR || SE')
// Redirect him to the UK Store store.
window.location.href = 'http://www.domain.co.uk';
);
</script>
但它不起作用。我对 javascript 的经验并不丰富,所以我不能 100% 确定如何进行这项工作。我假设我将能够创建一个变量(而是一个数组),命名为“国家”的留置权并使其等于那些国家,如var countries = ["UK", "DE", "FR", "SE"]
,然后让脚本检查该人的当前位置是否是阵列中的这些国家之一。但是,我不知道该怎么做。
救命!
【问题讨论】:
【参考方案1】:location.country_code === 'UK || DE || FR || SE'
检查字符串 'UK ||德 ||法国 || SE',在你的情况下永远不会是真的。
这将起作用:
if (location.country_code == 'UK' || location.country_code == 'DE' || location.country_code == 'FR' || location.country_code == 'SE')
// more awesome code
正如您所描述的,另一种方法是创建一个数组并检查该条目是否存在。这就像:
虚拟代码:
var countrys = ['DE','UK','SE','FR'];
var a = 'DE';
if (a.indexOf(countrys))
alert('It is');
【讨论】:
以上是关于我如何从我创建的列表中匹配一个国家,然后如果它在列表中则采取行动? (GeoIP 重定向)的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项[重复]