如何使用javascript捕获内部LAN IP地址

时间:2013-06-21 18:40:19

标签: javascript

首先需要一些帮助。我正在构建一个内部网络,其中包含一系列用于控制我家的iPad。我正在构建一个使用javascript向连接到我的服务器的不同设备发送串行控制命令的网站。我想在5个不同的房间里有5个ipads。每个都有不同控件的主页。所以我的卧室的控件将与我的起居室的控件不同......但是在我的每个ipads上我都会有一个导航栏,可以让我跳转到另一个房间进行控制我坚持的是,我希望能够点击任何房间任何页面上的主页按钮,并将该房间的ipad自动重定向回特定于该主页的主页。 ipad在那个房间。我能看到的唯一方法就是在每个ipad上设置一个静态ip,然后让home按钮返回到index.html,在那里读取请求ipad的ip地址,然后重定向到teh该ipad的主页基于其静态IP地址。踢球者是我不能使用PHP。我可以使用.asp但我不知道asp。如果有人可以提供帮助那就太棒了。我抓住了一个代码片段来自一个不同的帖子,但结果一直给我我的外部知识产权,这对我正在尝试做的事情毫无价值。见下文。另一个想法我通过具有特定名称的表单在第一次连接时注册每个ipad并将该信息保存为cookie。每次ipad进入index.html时,都会读取cookie,然后相应地重定向。

<script type="text/javascript" language="javascript">
  function myIP() {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
}
    else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

    xmlhttp.open("GET","http://jsonip.appspot.com/",false);
    xmlhttp.send();

    hostipInfo = xmlhttp.responseText;
    obj = JSON.parse(hostipInfo);
    document.getElementById("IP").value=obj.ip;
    document.getElementById("ADDRESS").value=obj.address;
}
</script>
</head>

<body onload="myIP()">
    IP :<input type="text" id="IP" name="IP" />
ADDRESS :<input type="text" id="ADDRESS" name="ADDRESS" />

1 个答案:

答案 0 :(得分:0)

根据外部因素(IP)确定要显示哪些控件有点不灵活,可能会因为收益不大而烦恼。

我更友好的方式是在页面上显示一个小按钮/复选框,以指示哪些控件属于设备。有效地将该页面设置为主页。

就像@Plato在评论中所说,你可以使用cookie local- or session storage来保持配置状态。最好的办法是使用localStorage,因为它不会过期。