首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让javascript直接链接到内部或外部webadress。

让javascript直接链接到内部或外部webadress。
EN

Stack Overflow用户
提问于 2017-09-18 20:44:56
回答 1查看 30关注 0票数 0

对于我的新网站,我正在尝试设置一个带有少量javascript的html,它决定是链接到外部ip还是内部ip。

我查找了一些javascript来请求ip,这是我找到的。

代码语言:javascript
复制
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {

Console.log(JSON.stringify(JSON.stringify,null,2));};

它应该返回以下内容:

代码语言:javascript
复制
{
  "ip": "116.12.250.1"
}

这里的要点是,我不明白如何使用这个输出。

我想到的第一件事是使用条件(else.asp)编写一些javascript,但我只是不明白如何以这种方式使用这个输出。

我的计划的基本思想是让网站使用这个请求来确定客户是在wan还是lan网络上。然后决定是将href链接到外部ip;(wan.wan)还是内部ip;(lan.lan)

所以这就是我想出来的

代码语言:javascript
复制
    if ("wan.wan.wan.wan" == "[the ip the website is hosted on]")
{ "[href variable]" = "lan.lan.lan.lan }

else if ("wan.wan.wan.wan" != "[the ip the website is hosted on]")
{ "[href variable]" = "wan.wan.wan.wan"}

我很难解释,抱歉。我本来是荷兰人所以请原谅我。

请问我的问题是否有任何不明确的地方!

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-18 20:58:12

您可以使用请求获取IP地址,然后保存它:

代码语言:javascript
复制
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {
    var ip = (JSON.stringify(data, null, 2)); })['ip'];
}

现在您已经拥有了IP地址,您可以通过查看IP地址来确定它们是否与服务器位于同一网络上,但是您可以省略最后的.后面的数字

因为如果您将两台计算机连接到同一网络,一台可能有地址10.10.10.10,另一台可能有10.10.10.11等等。

因此,您可以检查访问者IP的前3块是否与服务器的IP相匹配,这是众所周知的:

代码语言:javascript
复制
$.getJSON('//api.ipify.org?format=jsonp&callback=?', function(data) {
            var ip = (JSON.stringify(data, null, 2))['ip'];

            if (ip.match(/100.100.100.d{0,3}/)) { //REPLACE 100.100.100 WITH YOUR SERVER'S IP
                //user is on the same network
            } else {
                //user is not on the same network
            }
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46287927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档