根据位置(IP 地址)将用户重定向到不同的网站

2023-11-21

如何使用 IP 地址将访问我的网站的用户重定向到特定位置的网站。
我有 3 个特定位置的网站。
1.欧洲。
2.美国。
3.亚洲。
简而言之 我想使用客户端的 IP 地址找到客户端的位置。该解决方案需要使用Google API。


我得到了使用解决方案“google.loader.ClientLocation”
如果有人需要的话,这是代码。

检查这个 JSFiddle

http://jsfiddle.net/kvishnudev/7Ut65/1/

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
<head>
    <title>Get web visitor's location</title>
    <meta name="robots" value="none" />
</head>
<body>
<div id="yourinfo"></div>
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAp04yNttlQq-7b4aZI_jL5hQYPm-xtd00hTQOC0OXpAMO40FHAxQMnH50uBbWoKVHwgpklyirDEregg"></script>
<script type="text/javascript">
var Continent = {"AD":"Europe","AE":"Asia","AF":"Asia","AG":"North America","AI":"North America","AL":"Europe","AM":"Asia","AN":"North America","AO":"Africa","AQ":"Antarctica","AR":"South America","AS":"Australia","AT":"Europe","AU":"Australia","AW":"North America","AZ":"Asia","BA":"Europe","BB":"North America","BD":"Asia","BE":"Europe","BF":"Africa","BG":"Europe","BH":"Asia","BI":"Africa","BJ":"Africa","BM":"North America","BN":"Asia","BO":"South America","BR":"South America","BS":"North America","BT":"Asia","BW":"Africa","BY":"Europe","BZ":"North America","CA":"North America","CC":"Asia","CD":"Africa","CF":"Africa","CG":"Africa","CH":"Europe","CI":"Africa","CK":"Australia","CL":"South America","CM":"Africa","CN":"Asia","CO":"South America","CR":"North America","CU":"North America","CV":"Africa","CX":"Asia","CY":"Asia","CZ":"Europe","DE":"Europe","DJ":"Africa","DK":"Europe","DM":"North America","DO":"North America","DZ":"Africa","EC":"South America","EE":"Europe","EG":"Africa","EH":"Africa","ER":"Africa","ES":"Europe","ET":"Africa","FI":"Europe","FJ":"Australia","FK":"South America","FM":"Australia","FO":"Europe","FR":"Europe","GA":"Africa","GB":"Europe","GD":"North America","GE":"Asia","GF":"South America","GG":"Europe","GH":"Africa","GI":"Europe","GL":"North America","GM":"Africa","GN":"Africa","GP":"North America","GQ":"Africa","GR":"Europe","GS":"Antarctica","GT":"North America","GU":"Australia","GW":"Africa","GY":"South America","HK":"Asia","HN":"North America","HR":"Europe","HT":"North America","HU":"Europe","ID":"Asia","IE":"Europe","IL":"Asia","IM":"Europe","IN":"Asia","IO":"Asia","IQ":"Asia","IR":"Asia","IS":"Europe","IT":"Europe","JE":"Europe","JM":"North America","JO":"Asia","JP":"Asia","KE":"Africa","KG":"Asia","KH":"Asia","KI":"Australia","KM":"Africa","KN":"North America","KP":"Asia","KR":"Asia","KW":"Asia","KY":"North America","KZ":"Asia","LA":"Asia","LB":"Asia","LC":"North America","LI":"Europe","LK":"Asia","LR":"Africa","LS":"Africa","LT":"Europe","LU":"Europe","LV":"Europe","LY":"Africa","MA":"Africa","MC":"Europe","MD":"Europe","ME":"Europe","MG":"Africa","MH":"Australia","MK":"Europe","ML":"Africa","MM":"Asia","MN":"Asia","MO":"Asia","MP":"Australia","MQ":"North America","MR":"Africa","MS":"North America","MT":"Europe","MU":"Africa","MV":"Asia","MW":"Africa","MX":"North America","MY":"Asia","MZ":"Africa","NA":"Africa","NC":"Australia","NE":"Africa","NF":"Australia","NG":"Africa","NI":"North America","NL":"Europe","NO":"Europe","NP":"Asia","NR":"Australia","NU":"Australia","NZ":"Australia","OM":"Asia","PA":"North America","PE":"South America","PF":"Australia","PG":"Australia","PH":"Asia","PK":"Asia","PL":"Europe","PM":"North America","PN":"Australia","PR":"North America","PS":"Asia","PT":"Europe","PW":"Australia","PY":"South America","QA":"Asia","RE":"Africa","RO":"Europe","RS":"Europe","RU":"Europe","RW":"Africa","SA":"Asia","SB":"Australia","SC":"Africa","SD":"Africa","SE":"Europe","SG":"Asia","SH":"Africa","SI":"Europe","SJ":"Europe","SK":"Europe","SL":"Africa","SM":"Europe","SN":"Africa","SO":"Africa","SR":"South America","ST":"Africa","SV":"North America","SY":"Asia","SZ":"Africa","TC":"North America","TD":"Africa","TF":"Antarctica","TG":"Africa","TH":"Asia","TJ":"Asia","TK":"Australia","TM":"Asia","TN":"Africa","TO":"Australia","TR":"Asia","TT":"North America","TV":"Australia","TW":"Asia","TZ":"Africa","UA":"Europe","UG":"Africa","US":"North America","UY":"South America","UZ":"Asia","VC":"North America","VE":"South America","VG":"North America","VI":"North America","VN":"Asia","VU":"Australia","WF":"Australia","WS":"Australia","YE":"Asia","YT":"Africa","ZA":"Africa","ZM":"Africa","ZW":"Africa"};
    if(google.loader.ClientLocation)
    {
        visitor_lat = google.loader.ClientLocation.latitude;
        visitor_lon = google.loader.ClientLocation.longitude;
        visitor_city = google.loader.ClientLocation.address.city;
        visitor_region = google.loader.ClientLocation.address.region;
        visitor_country = google.loader.ClientLocation.address.country;
        visitor_countrycode = google.loader.ClientLocation.address.country_code;
        if(visitor_countrycode!= null)
        {
                var Cont = Continent[visitor_countrycode];
                //alert(Cont);              
        }

        //
        document.getElementById('yourinfo').innerHTML = '<p>Lat/Lon: ' + visitor_lat + ' / ' + visitor_lon + '</p><p>Location: ' + visitor_city + ', ' + visitor_region +', Continent : ' + Cont + ', ' + visitor_country + ' (' + visitor_countrycode + ')</p>';
    }
    else
    {
        document.getElementById('yourinfo').innerHTML = '<p>Whoops!</p>';
    }
</script>
</body>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据位置(IP 地址)将用户重定向到不同的网站 的相关文章

  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • HTML5 MediaSource 适用于某些 mp4 文件,但不适用于其他文件(相同的编解码器)

    我正在玩 MediaSource API 代码直接取自 Mozilla 的示例页面 https developer mozilla org en US docs Web API MediaSource endOfStream https d
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la

随机推荐

  • C++ 可变参数模板 AND 和 OR

    可以使用C 11可变参数模板来完成吗 in template
  • 修改jar文件

    我有一个 jar 文件 在 html 文件中用作小程序 我想修改 jar 文件的内容并重建 jar 文件 以便 html 可以与新的 jar 文件一起正常工作 我怎样才能做到这一点 我已经尝试使用 7zip 解压缩 并修改了源代码并创建了新
  • 如何在postgis中创建一个以米为单位的圆?

    我想问一下如何创建一个圆radius 4km 我已经尝试过ST Buffer功能 但它创造了一个更大的圆圈 我通过将其多边形插入新的 kml 文件来查看创建的圆 这就是我正在尝试的 INSERT INTO camera geom circl
  • 为什么我要删除 build/ 目录?

    Flutter Dart Android 新手 在控制台中刚刚做了 C Users lordnull gt flutter help clean Delete the build directory 只是想知道为什么我们要删除项目的构建目录
  • “传递结果失败” - onActivityForResult

    我有一个LoginActivity 用户登录 基本上都是自己的Activity它的主题就像一个对话框 看起来像一个对话框 它出现在一个SherlockFragmentActivity 我想要的是 如果有成功登录 应该有两个FragmentT
  • 将多个 .yml 文件传递​​给 docker-compose

    这里是 Docker 菜鸟 我的 docker 文件夹中有两个文件 docker compose build yml 和 docker compose up yml 以下是两个文件的内容 docker compose build yml v
  • 龙卷风.gen.engine 与tornado.gen.coroutine 的区别

    走过龙卷风 gen文档有人可以帮助我理解tornado gen coroutine和tornado gen engine之间的确切区别 作为龙卷风文档gen engine says 该装饰器类似于协程 但它不返回 Future 和回调参数没
  • 随机路径生成算法

    我想生成一个从矩阵顶部到底部的随机路径 FIDDLE 要求 路径可以蜿蜒 但必须从第一行连接到最后一行 最终 我希望每个路径片段的颜色是随机的 但现在它可以是统一的 我在下面仅使用红色进行了测试 从上到下连接的路径是随机生成的 路径片段显然
  • 使用 Jackson 映射时将默认值设置为空字段

    我正在尝试使用 Jackson 将一些 JSON 对象映射到 Java 对象 JSON 对象中的一些字段是强制性的 我可以用 NotNull 有些是可选的 与 Jackson 映射后 JSON 对象中未设置的所有字段在 Java 中都将为空
  • Visual Studio 2008 的 XML 架构设计器

    VS 2005确实包含 XSD 文件的设计器 在哪里可以找到 VS 2008 的版本 我只找到了预览版VS 2008 测试版 2 我建议不要使用 XML 模式的数据集编辑器 微软从 VS 2005 开始停止支持模式设计器是有原因的 我们对
  • 如何使用 PowerMock 和 Mockito 模拟枚举类的实例?

    我尝试遵循这个非常相似的问题的答案中提供的示例 但它对我不起作用 我收到以下错误消息 java lang IllegalArgumentException Cannot subclass final class class com mypr
  • python - setup.py sdist bdist_wheel

    我决定创建一个名为 NsmPY 的小模块 一旦我完成了模块背后的代码 可在 GitHub 上找到 我就开始尝试将这个新模块上传到 PyPi 但是 当我运行必要的命令时python3 setup py sdist bdist wheel 程序
  • 无效更新:节中的行数无效

    我正在使用一个项目Microsoft Azure services 在删除行时我收到此错误 Terminating app due to uncaught exception NSInternalInconsistencyException
  • 如何触发MathJax?

    包括我MathJax与脚本 这会自动用格式化标签替换所有数学代码 我怎样才能触发MathJax仅通过 JavaScript 单击 而不是在加载时单击 我怎么知道MathJax将格式化的元素放在页面末尾而不是替换原始代码 1 如何仅通过 ja
  • 为什么 。 PHP $_GET 数组中的 (点) 和空格更改为 _ (下划线)? [关闭]

    Closed 这个问题是无关 目前不接受答案 In PHP 文档我发现以下部分 变量名中的点和空格将转换为下划线 例如
  • 谁是 GWLP_USERDATA 单元的所有者?

    众所周知GWLP USERDATA可用于将一些指针大小数据与指定窗口相关联 但谁有权利这样做呢 显然 如果两段代码独立执行此操作 其中一段代码会覆盖另一段代码 那么必须只有一个所有者 但必须明确确定一个一般规则 谁是所有者GWLP USER
  • 指向链表的指针什么时候会改变实际的链表?

    我有一个单链表 L 并创建一个指向该列表 P 的指针 似乎有时修改 P 会更改实际列表 而其他时候修改 P 对实际列表 L 没有任何作用 只会更改 P 所指向的内容到 假设我创建一个指向 L 的指针 P L 在 python 中 执行类似
  • ASP.NET MVC3 中的随机会话超时

    我有一个获得随机会话超时的应用程序 Windows 2008 R2 上的 IIS 7 5 NET 4 0 我尝试了以下方法 检查应用程序日志是否 w3wp exe 进程崩溃 但没有条目 在应用程序池中禁用快速失败保护 移至 sql serv
  • Objective-C 只读属性是否需要指定强或复制?

    如果我有一个只读字符串属性 是否需要指定strong or retain or copy在声明中 如果我不指定 是否假定其中之一 在我看来 所有权属性只有当你有 setter 时才有用 property nonatomic readonly
  • 根据位置(IP 地址)将用户重定向到不同的网站

    如何使用 IP 地址将访问我的网站的用户重定向到特定位置的网站 我有 3 个特定位置的网站 1 欧洲 2 美国 3 亚洲 简而言之 我想使用客户端的 IP 地址找到客户端的位置 该解决方案需要使用Google API 我得到了使用解决方案