Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发现IP八位组,然后将其设为href URL?_Javascript_Variables_Url_Concatenation_Href - Fatal编程技术网

Javascript 发现IP八位组,然后将其设为href URL?

Javascript 发现IP八位组,然后将其设为href URL?,javascript,variables,url,concatenation,href,Javascript,Variables,Url,Concatenation,Href,好吧,我已经尽我所能了。首先,以下是我无法更改的先决条件: Windows平台 只能使用IE 11 我的目标:检测客户端IP地址,然后将该变量放入网页上的URL中。基本上,此链接会将用户带到该设备的“主页”。 因为它是Windows操作系统,所以我可以使用ActiveX调用,其长度与特定于单个函数的长度相同。在这种情况下,函数是获取客户端的IP地址 <script> var objLocator = new ActiveXObject("WbemScripting.SWB

好吧,我已经尽我所能了。首先,以下是我无法更改的先决条件:

  • Windows平台
  • 只能使用IE 11
我的目标:检测客户端IP地址,然后将该变量放入网页上的URL中。基本上,此链接会将用户带到该设备的“主页”。

因为它是Windows操作系统,所以我可以使用ActiveX调用,其长度与特定于单个函数的长度相同。在这种情况下,函数是获取客户端的IP地址

<script>
    var objLocator = new ActiveXObject("WbemScripting.SWBemLocator");
    var objService = objLocator.ConnectServer(".","root\\CIMV2");

    instances = objService.ExecQuery(
        "SELECT Caption, IPAddress, MACAddress FROM Win32_NetworkAdapterConfiguration"
    );

    e = new Enumerator(instances);

    var IPAddy = "";
    for(;!e.atEnd();e.moveNext()) {
        nic = e.item();

        if(nic.IPAddress!=null) {
            var ipArray = VBArray(nic.IPAddress).toArray();
            IPAddy = IPAddy + ipArray[0]+"<br>";
        }
    }
</script>

var objLocator=newActiveXObject(“WbemScripting.SWBemLocator”);
var objService=objLocator.ConnectServer(“.”,“root\\CIMV2”);
instances=objService.ExecQuery(
从Win32_NetworkAdapter配置中选择标题、IPAddress、MACAddress
);
e=新枚举数(实例);
var-ipady=“”;
对于(;!e.atEnd();e.moveNext()){
nic=e.item();
如果(nic.IPAddress!=null){
var ipArray=VBArray(nic.IPAddress.toArray();
IPAddy=IPAddy+ipArray[0]+“
”; } }
现在我的IP地址是'IPAddy',我将把它去掉,得到第四个八位组-aaa.bbb.ccc.ddd的'ddd'

<script>
  var input = IPAddy;
  var split = input.split('.');
  var TPage = split[3];
</script>

var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
现在,我无法正常工作的部分。(我原以为答案是肯定的,但对我来说不起作用。)我想把变量“TPage”变成PC用户的URL

在HTML文件的正文中:

<div class="w3-bar-block w3-black">
  <a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/' + TPage + '.html" target="bigWindow">Your Computer Information</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
</div>

我通过在页面中添加一小部分来检查我的工作,检查了变量脚本是否有效:

<script>
    document.write(IPAddy);
    document.write(TPage);
</script>

文件写入(IPAddy);
文件编写(TPage);
在一天结束时,我想打开IE浏览器的“开始页面”。该页面将识别我的IP地址为95.10.10.126,我将能够单击链接“您的计算机信息”,该链接将带我到./pages/126.html

那么,我做错了什么: …href=“pages/'+TPage+'.html”(您的计算机信息链接)?在IE中,它看起来像这样:file:///F:/pages/“++%20TPage%20++%20'.html”


非常感谢您的任何建议。谢谢您的时间。

您的问题在
href=“pages/'+TPage+'.html”
;不能像那样在HTML中直接使用JavaScript变量

相反,您首先需要以元素为目标。在我的示例中,我使用执行此操作,但请注意,为了使用该选择器,您将需要元素上的
id
属性。选择后,您需要更改
href
属性。在这方面,您可以使用
+
通过一些简单的连接将固定字符串与JavaScript变量结合起来:

var-TPage='127.0.0.1';
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接)
您的计算机信息
HTML:

<a href="pages/' + TPage + '.html">Your Computer Information</a>

太棒了!两个答案都很好

根据黑曜石时代的答案,我创建了以下脚本:

<script>
  var input = IPAddy;
  var split = input.split('.');
  var TPage = split[3];
  var link = document.getElementById('link');
  link.href = "pages/" + TPage + ".html";
  console.log(link);
</script>

var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接);
然而,我需要彼得·克拉夫的回应才能让它发挥作用。我必须将该脚本放在menu DIV对象的底部,就在锚定标记链接之后。像这样:

<div class="w3-bar-block w3-black">
  <a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
  <a class="w3-bar-item w3-button w3-text-white" id="link" target="bigWindow">Your Computer Information</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
  <script>
      var input = IPAddy;
      var split = input.split('.');
      var TPage = split[3];
      var link = document.getElementById('link');
      link.href = "pages/" + TPage + ".html";
      console.log(link);
  </script>
</div> 

var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接);
呜呼!谢谢你们两位

<div class="w3-bar-block w3-black">
  <a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
  <a class="w3-bar-item w3-button w3-text-white" id="link" target="bigWindow">Your Computer Information</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
  <a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
  <script>
      var input = IPAddy;
      var split = input.split('.');
      var TPage = split[3];
      var link = document.getElementById('link');
      link.href = "pages/" + TPage + ".html";
      console.log(link);
  </script>
</div>